<?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>Vincent Mazenod, aka mazenovi, aka voisin de gennetines &#187; dev</title>
	<atom:link href="http://blog.mazenod.fr/category/dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mazenod.fr</link>
	<description>#ispcp #php #symfony #social_networking #cornemuse</description>
	<lastBuildDate>Wed, 23 Nov 2011 09:46:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>PropelUtility : maintenir et exporter un schéma Propel avec MySQLWorkbench</title>
		<link>http://blog.mazenod.fr/2011/10/propelutility-maintenir-et-exporter-un-schema-propel-avec-mysqlworkbench/</link>
		<comments>http://blog.mazenod.fr/2011/10/propelutility-maintenir-et-exporter-un-schema-propel-avec-mysqlworkbench/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 12:33:28 +0000</pubDate>
		<dc:creator>mazenovi</dc:creator>
				<category><![CDATA[dev]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[réalisations]]></category>

		<guid isPermaLink="false">http://blog.mazenod.fr/?p=1978</guid>
		<description><![CDATA[<p><a href="http://blog.mazenod.fr/2011/10/propelutility-le-plugin-propel-en-mode-graphique-pour-mysqlworkbench/http://blog.mazenod.fr/wp-content/uploads/2011/10/screenshot_mini.5.jpg"><img style="margin-right: 20px; margin-left: 20px;" title="screenshot_mini.5" src="http://blog.mazenod.fr/wp-content/uploads/2011/10/screenshot_mini.5-300x270.jpg" alt="" width="196" height="177" align="left" /></a><a href="https://github.com/mazenovi/PropelUtility">PropelUtility</a> est un plugin <a href="http://www.mysql.fr/products/workbench/">MySQLWorkbench</a> permettant de créer  et d'exporter un schéma <a href="http://www.propelorm.org/">Propel</a> à partir d'un fichier <a href="http://www.mysql.fr/products/workbench/">MySQLWorkbench</a> existant (fichier *.mwb). Modifier son modèle de données <a href="http://www.propelorm.org/">Propel</a> via une interface graphique c'est maintenant possible avec <a href="https://github.com/mazenovi/PropelUtility">PropelUtility</a>.</p>
<p>Que vous utilisiez <a href="http://www.symfony-project.org/installation/1_4">symfony 1.x</a> ou <a href="http://symfony.com/">symfony2</a>, Propel 1.x ou le tout nouveau Propel 2.</p>
<p>Ce plugin est fait pour vous!</p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F10%2Fpropelutility-maintenir-et-exporter-un-schema-propel-avec-mysqlworkbench%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F10%2Fpropelutility-maintenir-et-exporter-un-schema-propel-avec-mysqlworkbench%2F&amp;style=normal&amp;b=2" height="61" width="50" title="PropelUtility : maintenir et exporter un schéma Propel avec MySQLWorkbench" alt=" PropelUtility : maintenir et exporter un schéma Propel avec MySQLWorkbench" /><br />
			</a>
		</div>
<p>J&#8217;ai toujours aimé les solutions graphiques pour le design du modèle des applications PHP que je développe. Que ce soit avec <a href="http://blog.mazenod.fr/2007/03/symfony-propel-db-designer/">DBDesigner pour symfony 1.0</a>, ou avec <a href="http://blog.mazenod.fr/2010/03/outils-de-modelisation-pour-symfony/">MySQLWorkbench pour symfony &gt; 1.2</a> .</p>
<p>Etant maintenant fixé sur l&#8217;<a href="http://www.propelorm.org/">ORM Propel</a> j&#8217;ai pris le parti de développer un outil permettant de gérer l&#8217;intégralité des paramètres du <a href="http://www.propelorm.org/reference/schema.html">schéma Propel</a> avec précision et de les exporter au format xml: <a href="https://github.com/mazenovi/PropelUtility">PropelUtility</a></p>
<p><a href="https://github.com/mazenovi/PropelUtility">PropelUtility</a> s&#8217;appuie sur l&#8217;outil de modélisation graphique <a href="http://www.mysql.fr/products/workbench/">MySQLWorkbench</a> et lui ajoute simplement une interface de gestion et d&#8217;export de tous les paramètres propres à <a href="http://www.propelorm.org/">Propel.</a></p>
<p><a href="https://github.com/mazenovi/PropelUtility">PropelUtility</a> est pérenne puisque <a href="http://www.mysql.fr/products/workbench/">MySQLWorkbench</a> est maintenu par l&#8217;équipe <a href="http://www.mysql.fr/">MySQL</a> elle même (<a href="http://fabforce.net/dbdesigner4/">DBDesigner</a> est déprécié) et qu&#8217;il sera compatible <a href="http://www.propelorm.org/">Propel 2</a> !</p>
<p>J&#8217;ajoute que c&#8217;est mon premier projet Python &#8230; Alors n&#8217;hésitez pas à me conseiller si vous êtes un habitué: je ne demande qu&#8217;à améliorer <a href="https://github.com/mazenovi/PropelUtility">PropelUtility</a></p>
<h2 style="font-size: 29.25px; line-height: 28.5px;">qu&#8217;est ce que PropelUtility ?</h2>
<ul>
<li><a href="https://github.com/mazenovi/PropelUtility">PropelUtility</a> permet de concevoir et d&#8217;exporter au format xml un schéma Propel à partir d&#8217;un schéma MySQLWorkbench existant (fichier *.mwb)</li>
<li><a href="https://github.com/mazenovi/PropelUtility">PropelUtility</a> permet de gérer tous les éléments de schéma propres à Propel non gérés par MySQLWorkbench</li>
<li><a href="https://github.com/mazenovi/PropelUtility">PropelUtility</a> est livré sous forme d&#8217;un plugin MySQLWorkbench écrit en Python. En cela il marche sous Windows, Linux et Mac OS</li>
</ul>
<h2 style="font-size: 29.25px; line-height: 28.5px;">Ce que PropelUtility n&#8217;est pas &#8230;</h2>
<ul>
<li><a href="https://github.com/mazenovi/PropelUtility">PropelUtility</a> ne permet pas de modifier les informations du schéma modifiables avec MySQLWorkbench</li>
<li><a href="https://github.com/mazenovi/PropelUtility">PropelUtility</a> ne prévoit aucune conversion ou sortie en YAML (vous pouvez par exemple utiliser la commande symfony propel:schema-to-yml)</li>
</ul>
<h1 style="font-size: 39px; line-height: 28.5px;">PropelUtility</h1>
<h2 id="install" style="font-size: 29.25px; line-height: 28.5px;">Installation</h2>
<p>via la ligne de commande</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git clone</span> git:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>mazenovi<span style="color: #000000; font-weight: bold;">/</span>PropelUtility.git</div></div>
<p>ou dézippez l&#8217;<a href="https://github.com/mazenovi/PropelUtility/zipball/master">archive téléchargée</a> à partir de la page <a href="https://github.com/mazenovi/PropelUtility">github de PropelUtility</a></p>
<div style="background: none repeat scroll 0% 0% #eeeeee; border: medium none gray;">
<h3 style="text-align: center;"><a href="http://blog.mazenod.fr/wp-content/uploads/2011/10/Warning2.png" rel="lightbox[1978]"><img class="aligncenter size-full wp-image-2005" title="Warning2" src="http://blog.mazenod.fr/wp-content/uploads/2011/10/Warning2.png" alt="Warning2 PropelUtility : maintenir et exporter un schéma Propel avec MySQLWorkbench" width="139" height="139" /></a>EDIT!!</h3>
<h3 style="text-align: center;">Cette partie de l&#8217;installation a été simplifiée par une version en un seul fichier</h3>
<h3 style="text-align: center;">La version en plusieurs fichiers est maintenue sous le nom de <a href="https://github.com/mazenovi/PropelUtilityDev">PropelUtilityDev</a> pour faciliter les contributions</h3>
<p>Copiez ensuite la totalité du projet (i.e. <em>propel_utility_grt.py</em> ainsi que le dossier <em>PropelUtility</em> et son contenu) dans l&#8217;un des répertoires &laquo;&nbsp;modules&nbsp;&raquo; de MySQLWorkbench.</p>
<p>Ce peut être un répertoire de l&#8217;installation de MySQLWorkbench, c&#8217;est à dire quelque chose comme:</p>
<ul>
<li><em>C:\Program Files\mysql-workbench\modules</em></li>
<li>ou <em>/usr/lib/mysql-workbench/modules</em> sous linux</li>
</ul>
<p>ou mieux un répertoire de l&#8217;utilisateur, typiquement:</p>
<ul>
<li><em>C:\Users\username\AppData\Roaming\MySQL\Workbench\modules</em></li>
<li><em>/home/username/.mysql/workbench/modules</em> sous linux</li>
</ul>
<p>Une fois copié &#8230;</p>
<p>&nbsp;</p>
</div>
<p>allez dans &laquo;&nbsp;Scripting&nbsp;&raquo; -&gt; &laquo;&nbsp;Install Plugin / Module &#8230;&nbsp;&raquo; naviguer jusqu&#8217;à l&#8217;emplacement du fichier <em>propel_utility_grt.py</em> <del datetime="2011-11-23T09:19:28+00:00">qui vient d&#8217;être copié</del> dézippé ou gité, sélectionnez le, puis redémarrez MySQLWorkbench.</p>
<p>PropelUtility ajoute deux nouvelles entrées à MySQLWorkbench dans &laquo;&nbsp;Plugins&nbsp;&raquo; -&gt; &laquo;&nbsp;Catalog&nbsp;&raquo; :</p>
<ul>
<li>&laquo;&nbsp;Propel Utility&nbsp;&raquo;</li>
<li>&laquo;&nbsp;Propel Erase All Data&nbsp;&raquo;</li>
</ul>
<p>N.B. ce n&#8217;est pas exactement la procédure préconsiée par MySQLWorkbench pour l&#8217;installation d&#8217;un plugin. Le fait que PropelUtility soit découpé en plusieurs fichiers oblige à copier l&#8217;arborescence du projet dans le répertoire &laquo;&nbsp;modules&nbsp;&raquo; manuellement avant l&#8217;installation dans MySQLWrokbench.</p>
<h2 style="font-size: 29.25px; line-height: 28.5px;"></h2>
<h2 style="font-size: 29.25px; line-height: 28.5px;"><a style="font-size: 29.25px; line-height: 28.5px;" href="http://blog.mazenod.fr/wp-content/uploads/2011/10/screenshot.5.jpg" rel="lightbox[1978]"><img class="aligncenter size-medium wp-image-1980" style="font-size: 29.25px; line-height: 28.5px;" title="screenshot.5" src="http://blog.mazenod.fr/wp-content/uploads/2011/10/screenshot.5.jpg" alt="screenshot.5 PropelUtility : maintenir et exporter un schéma Propel avec MySQLWorkbench" width="670" height="451" /></a></h2>
<h2 style="font-size: 29.25px; line-height: 28.5px;">utilisation</h2>
<p>Toutes les modifications effectuées sur les informations Propel avec PropelUtility ne seront validées qu&#8217;après un clique sur le bouton OK.<br />
En cas de clique sur CANCEL, les modifications seront perdues.<br />
Pour enregistrer définitivement les modifications des informations Propel il ne faut pas oublier d&#8217;enregistrer le document .mwb lui même</p>
<p>Il y a trois types de champs:</p>
<ul>
<li>Les champs non modifiables : ils ont un caractère informatif et peuvent être modifiés directement via MySQLWorkbench, mais pas via PropelUtility</li>
<li>Les champs modifiables : en cliquant une fois sur l&#8217;un de ses champs il est possible de modifier sa valeur par une saisie clavier</li>
<li>Les champs modifiables avec liste de choix : non seulement en cliquant une fois sur l&#8217;un de ses champs il est possible de modifier sa valeur par une saisie clavier, mais il est également possible de faire apparaitre une liste de choix en double cliquant. Il suffit alors de choisir une valeur et ensuite de cliquer sur le bouton &laquo;&nbsp;select this value&nbsp;&raquo;.</li>
</ul>
<p>N.B. Les listes de choix ne sont pas disponibles sous linux. (l&#8217;objet mforms.TreeView permettant de gérer des tableaux ne supportent pas nativement les listes de choix et l&#8217;astuce permettant de les déclencher au double clique semblent ne fonctionner que sous Windows :/)</p>
<h2 style="font-size: 29.25px; line-height: 28.5px;">onglets</h2>
<ul>
<li>Database permet de gérer les attributs de la balise xml<a href="http://www.propelorm.org/reference/schema.html#database_element"> &lt;database /&gt;</a></li>
<li>Tables permet de gérer les attributs de la balise xml <a href="http://www.propelorm.org/reference/schema.html#table_element">&lt;table /&gt;</a></li>
<li>Columns permet de gérer les attributs de la balise xml <a href="http://www.propelorm.org/reference/schema.html#column_element">&lt;column /&gt;</a></li>
<li>Foreign Keys permet de gérer les attributs de la balise xml <a href="http://www.propelorm.org/reference/schema.html#foreignkey_element">&lt;foreign-key /&gt;</a></li>
<li>Indices permet de gérer les attributs des balises xml <a href="http://www.propelorm.org/reference/schema.html#index_element">&lt;index /&gt;</a> et <a href="http://www.propelorm.org/reference/schema.html#unique_element">&lt;unique/&gt;</a></li>
<li>Behaviors permet de gérer les Behaviors associés chaque table (balsie <a href="http://www.propelorm.org/cookbook/writing-behavior.html">&lt;behavior /&gt;</a>) ainsi que leurs paramètres (balise <a href="(http://www.propelorm.org/cookbook/writing-behavior.html)">&lt;parameter /&gt;</a>)</li>
<li>Export permet d&#8217;exporter les données manipulées via les onglets sus-citées selon la logique suivante: les attributs obligatoires sont systématiquement exportés, alors que seuls les attributs optionnels possédant une valeur différente de leur valeur par défaut le sont.</li>
</ul>
<h2 style="font-size: 29.25px; line-height: 28.5px;">personnalisation</h2>
<p>Vous pouvez choisir les champs affichés, ou modifier l&#8217;ordre d&#8217;affichage, ou encore modifier la taille des colonnes des champs pour chaque onglet en allant modifier la liste &laquo;&nbsp;fields_list&nbsp;&raquo; de la classe associée à l&#8217;onglet (PropelTabDatabase.py pour l&#8217;onglet Database par exemple)<br />
De la même manière il est possible d&#8217;ajouter ses propres behaviors en complétant les listes PropelBehavior.behaviors et PropelBehavior.fields['name']['items']</p>
<h1 style="font-size: 39px; line-height: 28.5px;">Propel Erase all data</h1>
<p>Cette entrée permet de réintialiser toutes les données Propel gérées par PropelUtility et seulement celles ci (les informations géres par MySQLWOrkbench ne seront pas affectées)</p>
<h1 style="font-size: 39px; line-height: 28.5px;">TODO</h1>
<ul>
<li>ajouter une possibilité d&#8217;export individuel pour chaque indice (&lt;index /&gt; ou &lt;unique /&gt;)</li>
<li>ajouter le support pour la &laquo;&nbsp;single inheritance&nbsp;&raquo;</li>
<li>ajouter un onglet &laquo;&nbsp;Settings&nbsp;&raquo; pour chosir les colonnes à afficher dans chaque onglet</li>
<li><del>ajouter un onglet &laquo;&nbsp;Import&nbsp;&raquo; pour créer un schéma MySQLWorkbench (fichier *.mwb) à partir d&#8217;un schema.xml Propel existant</del> inutile avec les fonctionnalités d&#8217;importation d&#8217;un schéma de base de données à partir d&#8217;un base MySQL existante</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.mazenod.fr/2011/10/propelutility-maintenir-et-exporter-un-schema-propel-avec-mysqlworkbench/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>capifony sous windows pour déploiement automatisé sous ispcp</title>
		<link>http://blog.mazenod.fr/2011/04/capifony-sous-windows-pour-deploiement-automatise-sous-ispcp/</link>
		<comments>http://blog.mazenod.fr/2011/04/capifony-sous-windows-pour-deploiement-automatise-sous-ispcp/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 11:35:57 +0000</pubDate>
		<dc:creator>mazenovi</dc:creator>
				<category><![CDATA[bricolage]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.mazenod.fr/?p=1828</guid>
		<description><![CDATA[<p><a href="http://blog.mazenod.fr/wp-content/uploads/2011/04/gem.jpg"><img class="alignleft" style="margin-left: 20px; margin-right: 20px;" title="gem" src="http://blog.mazenod.fr/wp-content/uploads/2011/04/gem.jpg" alt="" width="104" height="104" /></a>Capifony est un petit outil qui permet d'automatiser le déploiement et le versioning des déploiements de vos application symfony. Basé sur capistrano, lui même écrit en ruby je vous propose de l'installer via les gems ruby dans cygwin</p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F04%2Fcapifony-sous-windows-pour-deploiement-automatise-sous-ispcp%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F04%2Fcapifony-sous-windows-pour-deploiement-automatise-sous-ispcp%2F&amp;style=normal&amp;b=2" height="61" width="50" title="capifony sous windows pour déploiement automatisé sous ispcp" alt=" capifony sous windows pour déploiement automatisé sous ispcp" /><br />
			</a>
		</div>
<p><a href="http://blog.mazenod.fr/wp-content/uploads/2011/04/gem.jpg" rel="lightbox[1828]"><br />
</a>En premier lieu il vous faudra disposer d&#8217;un <a href="http://www.cygwin.com/">cygwin</a> (<a href="http://blog.mazenod.fr/2011/03/activer-la-couleur-pour-la-commande-symfony-dans-un-bash-cygwin-portable">éventuellement portable <img src='http://blog.mazenod.fr/wp-includes/images/smilies/icon_wink.gif' alt="icon wink capifony sous windows pour déploiement automatisé sous ispcp" class='wp-smiley' title="capifony sous windows pour déploiement automatisé sous ispcp" /> </a>) sur votre machine, avec le package ruby (1.8) installé.</p>
<p><a href="http://stevenharman.net/blog/archive/2008/11/12/installing-rubygems-in-cygwin.aspx">installer rubyGem</a> est assez simple</p>
<ol>
<li>télécharger le tarball RubyGems  à partir <a href="http://rubyforge.org/projects/rubygems/">Ruby Forge<br />
</a></p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #000000; font-weight: bold;">&lt;</span>a <span style="color: #007800;">href</span>=<span style="color: #ff0000;">&quot;http://rubyforge.org/projects/rubygems/&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>http:<span style="color: #000000; font-weight: bold;">//</span>rubyforge.org<span style="color: #000000; font-weight: bold;">/</span>frs<span style="color: #000000; font-weight: bold;">/</span>download.php<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">74445</span><span style="color: #000000; font-weight: bold;">/</span>rubygems-1.6.2.tgz <span style="color: #000000; font-weight: bold;">&lt;/</span>a<span style="color: #000000; font-weight: bold;">&gt;</span></div></div>
<p>à remplacer par le numéro de la version courant bien entendu</li>
<li>décompresser le tarball
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;<span style="color: #c20cb9; font-weight: bold;">tar</span> -xvf rubygems-1.6.2.tgz</div></div>
</li>
<li>naviguer jusqu&#8217;à l&#8217;archive décompressée
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;<span style="color: #7a0874; font-weight: bold;">cd</span> rubygems-<span style="color: #000000; font-weight: bold;">*</span></div></div>
</li>
<li>exécuter cette commande pour installer RubyGem
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ruby setup.rb <span style="color: #c20cb9; font-weight: bold;">install</span></div></div>
</li>
<li>Et celle ci pour mettre à jour
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">gem update <span style="color: #660033;">--system</span></div></div>
</li>
</ol>
<p><a href="https://github.com/everzet/capifony">Capifony</a> s&#8217;installe donc maintenant simplement via la commande gem qui va gérer les dépendances et donc installer automatiquement <a href="https://github.com/capistrano/capistrano">Capistrano</a>. Il suffit d&#8217;exécuter la commande</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> capifony</div></div>
<p>il est tant de configurer la capifonycation de notre projet, donc après avoir navigué jusqu&#8217;à la racine du projet exécuter la commande:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">capifony .</div></div>
<p>qui crée un fichier Capfile à la racine du projet et un fichier deploy.rb dans le répertoire config du projet. voici le mien agrémenté de quelques commentaires</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">set</span> :application, <span style="color: #ff0000;">&quot;myapp.org&quot;</span><br />
<span style="color: #000000; font-weight: bold;">set</span> :domain,      <span style="color: #ff0000;">&quot;mygit.org&quot;</span><br />
<span style="color: #000000; font-weight: bold;">set</span> :deploy_to,   <span style="color: #ff0000;">&quot;/var/www/virtual/myapp.org&quot;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">set</span> :shared_children,   <span style="color: #000000; font-weight: bold;">%</span><span style="color: #c20cb9; font-weight: bold;">w</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>log htdocs<span style="color: #000000; font-weight: bold;">/</span>uploads<span style="color: #7a0874; font-weight: bold;">&#41;</span>   <span style="color: #666666; font-style: italic;">#par défaut ispcp alias le répertoire htdocs (et non web)</span><br />
<span style="color: #000000; font-weight: bold;">set</span> :use_sudo, <span style="color: #c20cb9; font-weight: bold;">true</span>    <span style="color: #666666; font-style: italic;">#obligatoire pour l'hébergement ispcp car le user de déploiement n'a pas à priori les droits d'écriture sur le répertoire associé au domaine ou sous domaine</span><br />
<span style="color: #000000; font-weight: bold;">set</span> :group_writable, <span style="color: #c20cb9; font-weight: bold;">false</span><br />
<br />
<span style="color: #000000; font-weight: bold;">set</span> :git_enable_submodules, <span style="color: #000000;">1</span><br />
<br />
<span style="color: #000000; font-weight: bold;">set</span> :repository, <span style="color: #ff0000;">&quot;git://git.cerdi.org/registration/health_registration.git&quot;</span><br />
<span style="color: #000000; font-weight: bold;">set</span> :scm,         :git<br />
<br />
role :web,        domain                         <span style="color: #666666; font-style: italic;"># Your HTTP server, Apache/etc</span><br />
role :app,        domain                         <span style="color: #666666; font-style: italic;"># This may be the same as your `Web` server</span><br />
role :db,         domain, :primary =<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #c20cb9; font-weight: bold;">true</span>       <span style="color: #666666; font-style: italic;"># This is where Rails migrations will run</span><br />
<br />
<span style="color: #000000; font-weight: bold;">set</span>  :keep_releases,  <span style="color: #000000;">3</span><br />
<br />
ssh_options<span style="color: #7a0874; font-weight: bold;">&#91;</span>:forward_agent<span style="color: #7a0874; font-weight: bold;">&#93;</span> = <span style="color: #c20cb9; font-weight: bold;">true</span></div></div>
<p>Je précise également que l&#8217;utilisateur est authentifié par clé RSA. Ce qui m&#8217;évite de saisir</p>
<p>Attendu que l&#8217;utilisateur utilisé (authentifié par clé RSA) pour le déploiement n&#8217;est pas l&#8217;utilisateur qui possède les répertoires, j&#8217;ai opté pour un utilisateur sudoer, seulement l&#8217;option use_sudo n&#8217;a pas suffit et j&#8217;ai du reprendre les commandes suivantes, à la suite de deploy.rb, en partant du code trouver /usr/lib/ruby/gems/1.8/gems/capifony-0.4.3/lib/capifony.rb (première fois que je voyais du ruby -_-&#8217;).</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">namespace :deploy <span style="color: #000000; font-weight: bold;">do</span><br />
<br />
task :setup, :except =<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #7a0874; font-weight: bold;">&#123;</span> :no_release =<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #c20cb9; font-weight: bold;">true</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000; font-weight: bold;">do</span><br />
<span style="color: #7a0874; font-weight: bold;">dirs</span> = <span style="color: #7a0874; font-weight: bold;">&#91;</span>deploy_to, releases_path, shared_path<span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
<span style="color: #7a0874; font-weight: bold;">dirs</span> += shared_children.map <span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #000000; font-weight: bold;">|</span>d<span style="color: #000000; font-weight: bold;">|</span> File.join<span style="color: #7a0874; font-weight: bold;">&#40;</span>shared_path, d<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
run <span style="color: #ff0000;">&quot;#{try_sudo} mkdir -p #{dirs.join(' ')} &amp;amp;&amp;amp; #{try_sudo} chmod g+w #{dirs.join(' ')}&quot;</span><br />
<span style="color: #666666; font-style: italic;">#add for case where deploy user is not owner</span><br />
<span style="color: #7a0874; font-weight: bold;">dirs</span> = <span style="color: #7a0874; font-weight: bold;">&#91;</span>releases_path, shared_path<span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
run <span style="color: #ff0000;">&quot;#{try_sudo} chown -R #{user_deploy}:#{group_deploy} #{dirs.join(' ')}&quot;</span><br />
end<br />
<br />
task :symlink, :except =<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #7a0874; font-weight: bold;">&#123;</span> :no_release =<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #c20cb9; font-weight: bold;">true</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000; font-weight: bold;">do</span><br />
on_rollback <span style="color: #000000; font-weight: bold;">do</span><br />
<span style="color: #000000; font-weight: bold;">if</span> previous_release<br />
run <span style="color: #ff0000;">&quot;#{try_sudo} rm -f #{current_path}; #{try_sudo} ln -s #{previous_release} #{current_path}; true&quot;</span><br />
<span style="color: #000000; font-weight: bold;">else</span><br />
logger.important <span style="color: #ff0000;">&quot;no previous release to rollback to, rollback of symlink skipped&quot;</span><br />
end<br />
end<br />
run <span style="color: #ff0000;">&quot;#{try_sudo} rm -f #{current_path} &amp;amp;&amp;amp; #{try_sudo} ln -s #{latest_release} #{current_path}&quot;</span><br />
end<br />
<br />
task :start <span style="color: #000000; font-weight: bold;">do</span><br />
run <span style="color: #ff0000;">&quot;[ -d #{deploy_to}/htdocs ] &amp;amp;&amp;amp; #{try_sudo} rm -rf #{deploy_to}/htdocs || true&quot;</span><br />
run <span style="color: #ff0000;">&quot;[ ! -f #{deploy_to}/htdocs ] &amp;amp;&amp;amp; #{try_sudo} ln -s #{current_path}/htdocs #{deploy_to}/htdocs || true&quot;</span><br />
run <span style="color: #ff0000;">&quot;[ ! -f #{deploy_to}/symfony ] &amp;amp;&amp;amp; #{try_sudo} ln -s #{current_path}/symfony #{deploy_to}/symfony || true&quot;</span><br />
<span style="color: #7a0874; font-weight: bold;">dirs</span> = <span style="color: #7a0874; font-weight: bold;">&#91;</span>releases_path, shared_path<span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
run <span style="color: #ff0000;">&quot;#{try_sudo} chown -R #{user_deploy}:#{group_deploy} #{dirs.join(' ')}&quot;</span><br />
run <span style="color: #ff0000;">&quot;#{try_sudo} chmod -R g+w #{dirs.join(' ')}&quot;</span><br />
run <span style="color: #ff0000;">&quot;#{try_sudo} chown -h #{user_deploy}:#{group_deploy} #{current_path} #{deploy_to}/htdocs&quot;</span><br />
end<br />
<br />
task :share_childs <span style="color: #000000; font-weight: bold;">do</span><br />
<span style="color: #000000; font-weight: bold;">if</span> shared_children<br />
shared_children.each <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">link</span><span style="color: #000000; font-weight: bold;">|</span><br />
run <span style="color: #ff0000;">&quot;mkdir -p #{shared_path}/#{link}&quot;</span><br />
run <span style="color: #ff0000;">&quot;#{try_sudo} chmod -R g+w #{shared_path}/#{link}&quot;</span><br />
run <span style="color: #ff0000;">&quot;if [ -d #{release_path}/#{link} ] ; then rm -rf #{release_path}/#{link}; fi&quot;</span><br />
run <span style="color: #ff0000;">&quot;ln -nfs #{shared_path}/#{link} #{release_path}/#{link}&quot;</span><br />
end<br />
end<br />
<br />
<span style="color: #000000; font-weight: bold;">if</span> shared_files<br />
shared_files.each <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">link</span><span style="color: #000000; font-weight: bold;">|</span><br />
link_dir = File.dirname<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">&quot;#{shared_path}/#{link}&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
run <span style="color: #ff0000;">&quot;mkdir -p #{link_dir}&quot;</span><br />
run <span style="color: #ff0000;">&quot;#{try_sudo} chmod -R g+w #{link_dir}&quot;</span><br />
run <span style="color: #ff0000;">&quot;touch #{shared_path}/#{link}&quot;</span><br />
run <span style="color: #ff0000;">&quot;ln -nfs #{shared_path}/#{link} #{release_path}/#{link}&quot;</span><br />
end<br />
end<br />
end<br />
end</div></div>
<p>Si ce n&#8217;est pas déjà fait, faites gérer votre projet par git</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git init</span></div></div>
<p>pour ne faire gérer que le nécessaire par  git  éditer .gitignore</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">web<span style="color: #000000; font-weight: bold;">/</span>sf<span style="color: #000000; font-weight: bold;">*</span><br />
web<span style="color: #000000; font-weight: bold;">/</span>uploads<span style="color: #000000; font-weight: bold;">/*</span><br />
cache<span style="color: #000000; font-weight: bold;">/*</span><br />
plugins<span style="color: #000000; font-weight: bold;">/</span>.<span style="color: #000000; font-weight: bold;">*</span><br />
log<span style="color: #000000; font-weight: bold;">/*</span><br />
config<span style="color: #000000; font-weight: bold;">/</span>databases.yml<br />
mkmf.log<br />
.rsync<span style="color: #000000; font-weight: bold;">*</span><br />
backups<span style="color: #000000; font-weight: bold;">/*</span></div></div>
<p>pour intégrer symfony en tant que librairie externe il vous faudra supprimer le répertoire lib/vendor/symfony s&#8217;il existe ou crééer lib/vendor s&#8217;il n&#8217;existe pas</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> lib<span style="color: #000000; font-weight: bold;">/</span>vendor</div></div>
<p>ensuite il suffit de déclarer la librairie symfony comme un sous modules au niveau de git, et faire de même pour tous les plugins qui sont verisonnés avec git</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git submodule</span> add http:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>vjousse<span style="color: #000000; font-weight: bold;">/</span>symfony-<span style="color: #000000;">1.4</span>.git lib<span style="color: #000000; font-weight: bold;">/</span>vendor<span style="color: #000000; font-weight: bold;">/</span>symfony<br />
<span style="color: #c20cb9; font-weight: bold;">git submodule</span> add https:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>rande<span style="color: #000000; font-weight: bold;">/</span>swFunctionalTestGenerationPlugin.git plugins<span style="color: #000000; font-weight: bold;">/</span>swFunctionalTestGenerationPlugin</div></div>
<p>ce qui a pour conséquence de créer un fichier .gitmodules contenant</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#91;</span>submodule <span style="color: #ff0000;">&quot;lib/vendor/symfony&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
path = lib<span style="color: #000000; font-weight: bold;">/</span>vendor<span style="color: #000000; font-weight: bold;">/</span>symfony<br />
url = http:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>vjousse<span style="color: #000000; font-weight: bold;">/</span>symfony-<span style="color: #000000;">1.4</span>.git<br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span>submodule <span style="color: #ff0000;">&quot;plugins/swFunctionalTestGenerationPlugin&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
path = plugins<span style="color: #000000; font-weight: bold;">/</span>swFunctionalTestGenerationPlugin<br />
url = https:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>rande<span style="color: #000000; font-weight: bold;">/</span>swFunctionalTestGenerationPlugin.git</div></div>
<p>il s&#8217;agit ensuite de committer le projet , sur un serveur distant</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git add</span> .<br />
<span style="color: #c20cb9; font-weight: bold;">git commit</span> <span style="color: #660033;">-a</span> <span style="color: #660033;">-m</span> <span style="color: #ff0000;">'commit entire project'</span> <span style="color: #666666; font-style: italic;">#commit en local</span><br />
<span style="color: #c20cb9; font-weight: bold;">git remote</span> add origin <span style="color: #c20cb9; font-weight: bold;">git</span><span style="color: #000000; font-weight: bold;">@</span>git.cerdi.org:registration<span style="color: #000000; font-weight: bold;">/</span>health_registration.git  <span style="color: #666666; font-style: italic;">#défini un serveur git distant</span><br />
<span style="color: #c20cb9; font-weight: bold;">git push</span> origin master <span style="color: #666666; font-style: italic;">#répercutre le modifs sur le serveur git distant</span></div></div>
<p>maintenant que notre projet est gité avec ces sous modules, il ne reste qu&#8217;à</p>
<p>lancer la commande suivante pour finir de configurer le déploiement</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cap deploy:setup</div></div>
<p>lancer la commande suivante pour le premier déploiement</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cap deploy:cold</div></div>
<p>lancer la commande suivante pour les suivants</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cap deploy:start</div></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.mazenod.fr/2011/04/capifony-sous-windows-pour-deploiement-automatise-sous-ispcp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>forcer l&#8217;utilisation de ssl sur un sous domaine avec ispcp</title>
		<link>http://blog.mazenod.fr/2011/03/forcer-lutilisation-de-ssl-sur-un-sous-domaine-avec-ispcp/</link>
		<comments>http://blog.mazenod.fr/2011/03/forcer-lutilisation-de-ssl-sur-un-sous-domaine-avec-ispcp/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 12:11:56 +0000</pubDate>
		<dc:creator>mazenovi</dc:creator>
				<category><![CDATA[bricolage]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[securité]]></category>
		<category><![CDATA[gratuit]]></category>
		<category><![CDATA[ispcp]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://blog.mazenod.fr/?p=1878</guid>
		<description><![CDATA[<p><a href="http://blog.mazenod.fr/wp-content/uploads/2011/03/isp-control-panel_bigger.jpg"><img class="alignleft" style="margin-left: 20px; margin-right: 20px;" title="isp-control-panel_bigger" src="http://blog.mazenod.fr/wp-content/uploads/2011/03/isp-control-panel_bigger.jpg" alt="" width="73" height="73" /></a>Apprenez comment ajouter et même forcer l'utilisation de ssl sur les domaines ou sous domaines que vous hébergez ispcp, un control panel simple et complet</p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F03%2Fforcer-lutilisation-de-ssl-sur-un-sous-domaine-avec-ispcp%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F03%2Fforcer-lutilisation-de-ssl-sur-un-sous-domaine-avec-ispcp%2F&amp;style=normal&amp;b=2" height="61" width="50" title="forcer lutilisation de ssl sur un sous domaine avec ispcp" alt=" forcer lutilisation de ssl sur un sous domaine avec ispcp" /><br />
			</a>
		</div>
<p>Tout d&#8217;abord il faut activer ssl sur votre serveur et générer vos certificats ssl (à moins que vous en ayez déjà).</p>
<p>Le how to officiel d&#8217;ispcp <a href="http://isp-control.net/documentation/howto/security/ssl_made_easy">How to: SSL made easy</a> est très bien fait et vous apprendra en premier lieu comment sécuriser votre control panel.</p>
<p><a href="http://blog.mazenod.fr/wp-content/uploads/2011/03/ispcp.png" rel="lightbox[1878]"><img class="aligncenter size-full wp-image-1880" title="ispcp" src="http://blog.mazenod.fr/wp-content/uploads/2011/03/ispcp.png" alt="ispcp forcer lutilisation de ssl sur un sous domaine avec ispcp" width="502" height="256" /></a></p>
<p>Ayant un peu plus cherché pour mettre la même chose en place avec un sous domaine géré par ispcp, je me permets de relayer la solution (en allemand) que<a href="http://isp-control.net/forum/printthread.php?tid=9450"> j&#8217;ai trouvé dans un forum</a>.</p>
<p>le but est de créer un virtual host sub.domain.tld accessible en ssl (sachant que le virtual host est simplement créé avec ispcp)</p>
<p>il faut d&#8217;abord créer vhost en écoute sur le port 443 en éditant</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>site-available<span style="color: #000000; font-weight: bold;">/</span>sub-ssl</div></div>
<p>et en y ajoutant</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;</span>VirtualHost XXX.XXX.XXX.XXX:<span style="color: #000000;">443</span><span style="color: #000000; font-weight: bold;">&gt;</span><br />
<br />
&nbsp; &nbsp; SSLEngine On<br />
<br />
&nbsp; &nbsp; SSLCertificateFile <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ssl<span style="color: #000000; font-weight: bold;">/</span>certs<span style="color: #000000; font-weight: bold;">/</span>domain.tld.crt<br />
&nbsp; &nbsp; SSLCertificateKeyFile <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ssl<span style="color: #000000; font-weight: bold;">/</span>certs<span style="color: #000000; font-weight: bold;">/</span>domain.tld.key<br />
<br />
&nbsp; &nbsp; SSLProtocol All <span style="color: #660033;">-SSLv2</span><br />
&nbsp; &nbsp; SSLCipherSuite ALL:<span style="color: #000000; font-weight: bold;">!</span>EXP:<span style="color: #000000; font-weight: bold;">!</span>NULL:<span style="color: #000000; font-weight: bold;">!</span>ADH:<span style="color: #000000; font-weight: bold;">!</span>LOW<br />
&nbsp; &nbsp; SetEnvIf User-Agent “.<span style="color: #000000; font-weight: bold;">*</span>MSIE.<span style="color: #000000; font-weight: bold;">*</span>” nokeepalive ssl-unclean-shutdown<br />
<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;</span>IfModule suexec_module<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SuexecUserGroup vu2001 vu2001<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/</span>IfModule<span style="color: #000000; font-weight: bold;">&gt;</span><br />
<br />
&nbsp; &nbsp; ServerAdmin &nbsp; &nbsp; webmestre.cerdi<span style="color: #000000; font-weight: bold;">@</span>u-clermont1.fr<br />
&nbsp; &nbsp; DocumentRoot &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>virtual<span style="color: #000000; font-weight: bold;">/</span>domain.tld<span style="color: #000000; font-weight: bold;">/</span>sub<span style="color: #000000; font-weight: bold;">/</span>htdocs<br />
<br />
&nbsp; &nbsp; ServerName &nbsp; &nbsp; &nbsp;pssi.domain.tld<br />
<br />
&nbsp; &nbsp; Alias <span style="color: #000000; font-weight: bold;">/</span>errors <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>virtual<span style="color: #000000; font-weight: bold;">/</span>domain.tld<span style="color: #000000; font-weight: bold;">/</span>errors<span style="color: #000000; font-weight: bold;">/</span><br />
<br />
&nbsp; &nbsp; ErrorDocument <span style="color: #000000;">401</span> <span style="color: #000000; font-weight: bold;">/</span>errors<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">401</span>.html<br />
&nbsp; &nbsp; ErrorDocument <span style="color: #000000;">403</span> <span style="color: #000000; font-weight: bold;">/</span>errors<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">403</span>.html<br />
&nbsp; &nbsp; ErrorDocument <span style="color: #000000;">404</span> <span style="color: #000000; font-weight: bold;">/</span>errors<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">404</span>.html<br />
&nbsp; &nbsp; ErrorDocument <span style="color: #000000;">500</span> <span style="color: #000000; font-weight: bold;">/</span>errors<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">500</span>.html<br />
&nbsp; &nbsp; ErrorDocument <span style="color: #000000;">503</span> <span style="color: #000000; font-weight: bold;">/</span>errors<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">503</span>.html<br />
<br />
&nbsp; &nbsp; ErrorLog <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>ssl_error_log<br />
&nbsp; &nbsp; CustomLog <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>ssl_request_log &nbsp; ssl_combined<br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># httpd sub entry cgi support BEGIN.</span><br />
&nbsp; &nbsp; ScriptAlias <span style="color: #000000; font-weight: bold;">/</span>cgi-bin<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>virtual<span style="color: #000000; font-weight: bold;">/</span>domain.tld<span style="color: #000000; font-weight: bold;">/</span>sub<span style="color: #000000; font-weight: bold;">/</span>cgi-bin<span style="color: #000000; font-weight: bold;">/</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;</span>Directory <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>virtual<span style="color: #000000; font-weight: bold;">/</span>domain.tld<span style="color: #000000; font-weight: bold;">/</span>sub<span style="color: #000000; font-weight: bold;">/</span>cgi-bin<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; AllowOverride AuthConfig<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">#Options ExecCGI</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; Order allow,deny<br />
&nbsp; &nbsp; &nbsp; &nbsp; Allow from all<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/</span>Directory<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># httpd sub entry cgi support END.</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;</span>Directory <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>virtual<span style="color: #000000; font-weight: bold;">/</span>domain.tld<span style="color: #000000; font-weight: bold;">/</span>sub<span style="color: #000000; font-weight: bold;">/</span>htdocs<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># httpd sub entry PHP support BEGIN.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># httpd sub entry PHP support END.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; Options <span style="color: #660033;">-Indexes</span> Includes FollowSymLinks MultiViews<br />
&nbsp; &nbsp; &nbsp; &nbsp; AllowOverride All<br />
&nbsp; &nbsp; &nbsp; &nbsp; Order allow,deny<br />
&nbsp; &nbsp; &nbsp; &nbsp; Allow from all<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/</span>Directory<span style="color: #000000; font-weight: bold;">&gt;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># httpd sub entry PHP2 support BEGIN.</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;</span>IfModule mod_php5.c<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; php_admin_value open_basedir <span style="color: #ff0000;">&quot;/var/www/virtual/domain.tld/:/var/www/virtual/domain.tld/phptmp/:/usr/share/php/&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; php_admin_value upload_tmp_dir <span style="color: #ff0000;">&quot;/var/www/virtual/domain.tld/phptmp/&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; php_admin_value session.save_path <span style="color: #ff0000;">&quot;/var/www/virtual/domain.tld/phptmp/&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; php_admin_value sendmail_path <span style="color: #ff0000;">'/usr/sbin/sendmail -f vu2001 -t -i'</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/</span>IfModule<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;</span>IfModule mod_fastcgi.c<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; ScriptAlias <span style="color: #000000; font-weight: bold;">/</span>php5<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>fcgi<span style="color: #000000; font-weight: bold;">/</span>domain.tld<span style="color: #000000; font-weight: bold;">/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;</span>Directory <span style="color: #ff0000;">&quot;/var/www/fcgi/domain.tld&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; AllowOverride None<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Options +ExecCGI <span style="color: #660033;">-MultiViews</span> <span style="color: #660033;">-Indexes</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Order allow,deny<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Allow from all<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/</span>Directory<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/</span>IfModule<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;</span>IfModule mod_fcgid.c<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; Include <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>mods-available<span style="color: #000000; font-weight: bold;">/</span>fcgid_ispcp.conf<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;</span>Directory <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>virtual<span style="color: #000000; font-weight: bold;">/</span>domain.tld<span style="color: #000000; font-weight: bold;">/</span>sub<span style="color: #000000; font-weight: bold;">/</span>htdocs<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FCGIWrapper <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>fcgi<span style="color: #000000; font-weight: bold;">/</span>domain.tld<span style="color: #000000; font-weight: bold;">/</span>php5-fcgi-starter .php<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Options +ExecCGI<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/</span>Directory<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;</span>Directory <span style="color: #ff0000;">&quot;/var/www/fcgi/domain.tld&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; AllowOverride None<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Options +ExecCGI MultiViews <span style="color: #660033;">-Indexes</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Order allow,deny<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Allow from all<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/</span>Directory<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;/</span>IfModule<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;"># httpd sub entry PHP2 support END.</span><br />
<br />
<span style="color: #000000; font-weight: bold;">&lt;/</span>VirtualHost<span style="color: #000000; font-weight: bold;">&gt;</span></div></div>
<p>activer le virtual host</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> a2ensite sub-ssl</div></div>
<p>et recharger la configuration d&#8217;apache</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 reload</div></div>
<p>reste à interdire l&#8217;utilisation du http non sécurisé, ce qui revient à forcer le https via un règle de rewriting qui peut par exemple être mise dans un .htaccess à la racine du sous domaine</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>virtual<span style="color: #000000; font-weight: bold;">/</span>domain.tld<span style="color: #000000; font-weight: bold;">/</span>sub<span style="color: #000000; font-weight: bold;">/</span>htdocs<span style="color: #000000; font-weight: bold;">/</span>.htaccess</div></div>
<p>et ajouter quelque chose du genre<a href="http://blog.mazenod.fr/wp-content/uploads/2011/03/isp-control-panel_bigger.jpg" rel="lightbox[1878]"><br />
</a></p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;</span>IfModule mod_rewrite.c<span style="color: #000000; font-weight: bold;">&gt;</span><br />
&nbsp; &nbsp;RewriteEngine On<br />
&nbsp; &nbsp;RewriteCond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>SERVER_PORT<span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000;">80</span><br />
&nbsp; &nbsp;RewriteRule ^<span style="color: #7a0874; font-weight: bold;">&#40;</span>.<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>$ https:<span style="color: #000000; font-weight: bold;">//</span>sub.domain.tld<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$1</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>R,L<span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
<span style="color: #000000; font-weight: bold;">&lt;/</span>IfModule<span style="color: #000000; font-weight: bold;">&amp;</span>gt<span style="color: #000000; font-weight: bold;">&gt;</span></div></div>
<p><a href="http://blog.mazenod.fr/wp-content/uploads/2011/03/ispcp-box.jpg" rel="lightbox[1878]"><img class="aligncenter size-full wp-image-1882" title="ispcp-box" src="http://blog.mazenod.fr/wp-content/uploads/2011/03/ispcp-box.jpg" alt="ispcp box forcer lutilisation de ssl sur un sous domaine avec ispcp" width="219" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mazenod.fr/2011/03/forcer-lutilisation-de-ssl-sur-un-sous-domaine-avec-ispcp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>postgreSQL &amp; xampp portable sous windows</title>
		<link>http://blog.mazenod.fr/2011/03/postgresql-xampp-portable-sous-windows/</link>
		<comments>http://blog.mazenod.fr/2011/03/postgresql-xampp-portable-sous-windows/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 18:09:41 +0000</pubDate>
		<dc:creator>mazenovi</dc:creator>
				<category><![CDATA[bricolage]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[portable apps]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://blog.mazenod.fr/?p=1862</guid>
		<description><![CDATA[<p><a href="http://blog.mazenod.fr/wp-content/uploads/2011/03/03568004-photo-logo-postgresql.jpg"><img class="alignleft" style="margin-left: 20px; margin-right: 20px;" title="03568004-photo-logo-postgresql" src="http://blog.mazenod.fr/wp-content/uploads/2011/03/03568004-photo-logo-postgresql.jpg" alt="" width="220" height="170" /></a>PostgreSQL est une alternative libre et professionnelle à MySQL. Si il est répandu dans le monde UNIX il l'est un peu moins dans le monde windows, et encore moins en tant qu'application portable. Le propos de ce post est donc de pouvoir installer ce SGBD afin de l'intégrer à un XAMPP portable déjà installé</p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F03%2Fpostgresql-xampp-portable-sous-windows%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F03%2Fpostgresql-xampp-portable-sous-windows%2F&amp;style=normal&amp;b=2" height="61" width="50" title="postgreSQL & xampp portable sous windows" alt=" postgreSQL & xampp portable sous windows" /><br />
			</a>
		</div>
<p>Tout est dans le titre je crois. Je suis parti de ce billet <a href="http://notepad.patheticcockroach.com/628/adding-postgresql-portable-to-xampp-on-windows/">http://notepad.patheticcockroach.com/628/adding-postgresql-portable-to-xampp-on-windows/</a>et je vous livre ce qui a fonctionné pour moi. J&#8217;ai déjà expliqué sur ce blog <a href="http://blog.mazenod.fr/2009/11/environnement-de-developpement-portable-pour-symfony-framakey/">comment installer une plateforme xampp portable sous windows</a>.</p>
<p>Le prérequis est donc d&#8217;en avoir une fonctionnelle pour la suite <img src='http://blog.mazenod.fr/wp-includes/images/smilies/icon_wink.gif' alt="icon wink postgreSQL & xampp portable sous windows" class='wp-smiley' title="postgreSQL & xampp portable sous windows" /> </p>
<p>Tout d&#8217;abord il vous faudra une version portable de postrgre, que vous trouverez sur <a href="http://www.postgresql.org/download/windows">http://www.postgresql.org/download/windows</a>. En tant qu&#8217;<em>&laquo;&nbsp;Advanced user&nbsp;&raquo; </em>vous téléchagerez l&#8217; <a href="http://www.enterprisedb.com/products/pgbindownload.do">archive zip</a> sans l&#8217;installeur (la version portable quoi). J&#8217;ai opté pour la <em> 9.0.3-1</em> qui semble être la stable du moment.</p>
<p>Une fois l&#8217;archive décompressée, copier / coller le répertoire pgsql qu&#8217;elle contient dans Z:/MyApps/xampp/.</p>
<p><a href="http://blog.mazenod.fr/wp-content/uploads/2011/03/images.jpg" rel="lightbox[1862]"><img class="aligncenter size-full wp-image-1874" title="images" src="http://blog.mazenod.fr/wp-content/uploads/2011/03/images.jpg" alt="images postgreSQL & xampp portable sous windows" width="259" height="194" /></a></p>
<p>La première des choses à faire est ensuite de créer un cluster en tapant</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Z:\MyApps\xampp\pgsql\bin\initdb.exe <span style="color: #660033;">-D</span> ..\data<br />
<br />
Les fichiers de ce cluster appartiendront à l<span style="color: #ff0000;">'utilisateur « mazenovi».<br />
Le processus serveur doit également lui appartenir.<br />
<br />
Le cluster sera initialisé avec la locale French_France.1252.<br />
L'</span>encodage par défaut des bases de données a été configuré en conséquence<br />
avec WIN1252.<br />
La configuration de la recherche plein texte a été initialisée à « french ».<br />
<br />
correction des droits sur le répertoire existant ..<span style="color: #000000; font-weight: bold;">/</span>data... ok<br />
création des sous-répertoires... ok<br />
sélection de la valeur par défaut de max_connections... <span style="color: #000000;">100</span><br />
sélection des valeurs par défaut de shared_buffers<span style="color: #000000; font-weight: bold;">/</span>max_fsm_pages... 32MB<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">204800</span><br />
création des fichiers de configuration... ok<br />
création de la base de données template1 dans ..<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>base<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1</span>... ok<br />
initialisation de pg_authid... ok<br />
initialisation des dépendances... ok<br />
création des vues système... ok<br />
chargement de la description des objets système... ok<br />
création des conversions... ok<br />
création des dictionnaires... ok<br />
initialisation des droits sur les objets internes... ok<br />
création <span style="color: #c20cb9; font-weight: bold;">du</span> schéma d<span style="color: #ff0000;">'informations... ok<br />
lancement du vacuum sur la base de données template1... ok<br />
copie de template1 vers template0... ok<br />
copie de template1 vers postgres... ok<br />
<br />
ATTENTION : active l'</span>authentification « trust » pour les connexions<br />
locales.<br />
Vous pouvez modifier ceci en éditant pg_hba.conf ou en utilisant l<span style="color: #ff0000;">'option -A<br />
au prochain lancement d'</span>initdb.<br />
<br />
Succès. Vous pouvez maintenant lancer le serveur de bases de données par :<br />
<br />
<span style="color: #ff0000;">&quot;postgres&quot;</span> <span style="color: #660033;">-D</span> <span style="color: #ff0000;">&quot;../data&quot;</span><br />
ou<br />
<span style="color: #ff0000;">&quot;pg_ctl&quot;</span> <span style="color: #660033;">-D</span> <span style="color: #ff0000;">&quot;../data&quot;</span> <span style="color: #660033;">-l</span> journal_applicatif start</div></div>
<p><strong>N.B. </strong>le cluster appartient à l&#8217;utilisateur système avec lequel il est créé c&#8217;est important pour la suite!</p>
<p>pour lancer le serveur</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">cd</span> Z:\MyApps\xampp\pgsql\bin<br />
<br />
<span style="color: #ff0000;">&quot;pg_ctl&quot;</span> <span style="color: #660033;">-D</span> <span style="color: #ff0000;">&quot;../data&quot;</span> <span style="color: #660033;">-l</span> journal_applicatif start</div></div>
<p>vous pouvez déjà jouer avec pgAdmin3 en entrant l&#8217;adresse de votre serveur (127.0.01 ou localhost) et le login mot de passe de l&#8217;utilisateur que vous avez utilisez pour créer le cluster. Mais il s&#8217;agit ici de faire fonctionner postgreSQL avec php. On va donc décommenter deux extensions dans le Z:\MyApps\xampp\php\php.ini</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">; php driver to use postgreSQL databases<br />
<span style="color: #007800;">extension</span>=php_pgsql.dll<br />
; abstraction layer <span style="color: #000000; font-weight: bold;">for</span> PDO<br />
<span style="color: #007800;">extension</span>=php_pdo_pgsql.dll</div></div>
<p>Mais là vous risquez d&#8217;être victime de message d&#8217;erreur car PostgreSQl a besoin de quelques dll pour fonctionner sous windows. Afin de garder l&#8217;installation portable il faut ajouter \MyApps\xampp\pgsql\bin au path, car ce répertoire contient les dll nécessaires (et évite du coup d&#8217;avoir à les copier dans c:\windows\system32).</p>
<p><a href="http://blog.mazenod.fr/wp-content/uploads/2011/03/environnement.png" rel="lightbox[1862]"><img class="aligncenter size-full wp-image-1864" title="environnement" src="http://blog.mazenod.fr/wp-content/uploads/2011/03/environnement.png" alt="environnement postgreSQL & xampp portable sous windows" width="578" height="420" /></a></p>
<p>Afin de tester que postgreSQL fonctionne bien avec php je vous propose d&#8217;installer phpPgAdmin en le téléchargeant sur le site officiel http://phppgadmin.sourceforge.net/ puis en le décompressant dans Z:/MyApps/xampp/phpPgAdmin/</p>
<p>Afin de le rendre visible ajouter dans Z:\MyApps\xampp\apache\conf\extra\httpd-xampp.conf</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Alias <span style="color: #000000; font-weight: bold;">/</span>phppgadmin <span style="color: #ff0000;">&quot;Z:/MyApps/xampp/phpPgAdmin/&quot;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">&amp;</span>lt;Directory <span style="color: #ff0000;">&quot;Z:/MyApps/xampp/phpPgAdmin&quot;</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<br />
AllowOverride AuthConfig<br />
<span style="color: #000000; font-weight: bold;">&amp;</span>lt;<span style="color: #000000; font-weight: bold;">/</span>Directory<span style="color: #000000; font-weight: bold;">&amp;</span>gt;</div></div>
<p>et modifier</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&amp;</span>lt;LocationMatch <span style="color: #ff0000;">&quot;^/(?i:(?:xampp|security|licenses|phpmyadmin|phppgadmin|webalizer|server-status|server-info))&quot;</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<br />
Order deny,allow<br />
Deny from all<br />
Allow from 127.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span><br />
ErrorDocument <span style="color: #000000;">403</span> <span style="color: #000000; font-weight: bold;">/</span>error<span style="color: #000000; font-weight: bold;">/</span>HTTP_XAMPP_FORBIDDEN.html.var<br />
<span style="color: #000000; font-weight: bold;">&amp;</span>lt;<span style="color: #000000; font-weight: bold;">/</span>LocationMatch<span style="color: #000000; font-weight: bold;">&amp;</span>gt;</div></div>
<p>éditer également selon vos besoins le fichier de configuration de phpPgAdmin Z:\MyApps\xampp\phpPgAdmin\conf\config.inc.php</p>
<p>ouvrez maintenant http://localhost/phppgadmin dans votre navigateur et saisissez les login mot de passe de l&#8217;utilisateur associé au cluster</p>
<p><a href="http://blog.mazenod.fr/wp-content/uploads/2011/03/phppgadmin.png" rel="lightbox[1862]"><img class="aligncenter size-full wp-image-1867" title="phppgadmin" src="http://blog.mazenod.fr/wp-content/uploads/2011/03/phppgadmin.png" alt="phppgadmin postgreSQL & xampp portable sous windows" width="591" height="183" /></a></p>
<p>&nbsp;</p>
<p>A vous postgreSQL</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mazenod.fr/2011/03/postgresql-xampp-portable-sous-windows/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>activer la couleur pour la commande symfony dans un bash cygwin portable</title>
		<link>http://blog.mazenod.fr/2011/03/activer-la-couleur-pour-la-commande-symfony-dans-un-bash-cygwin-portable/</link>
		<comments>http://blog.mazenod.fr/2011/03/activer-la-couleur-pour-la-commande-symfony-dans-un-bash-cygwin-portable/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 10:24:47 +0000</pubDate>
		<dc:creator>mazenovi</dc:creator>
				<category><![CDATA[bricolage]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[portable apps]]></category>
		<category><![CDATA[gratuit]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.mazenod.fr/?p=1423</guid>
		<description><![CDATA[<p><a href="../wp-content/uploads/2011/08/cygwin_logo.png"><img class="alignleft" style="margin-left: 30px; margin-right: 30px;" title="cygwin_logo" src="../wp-content/uploads/2011/08/cygwin_logo.png" alt="" width="64" height="64" /></a>Une petite astuce pour les développeurs symfony en environnement windows qui vous permettra de bénéficier des couelurs produites par la commande symfony. Vous verrez qu'il est aussi possible de configurer un environnement UnixLike dans une console agréable et personnalisée</p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F03%2Factiver-la-couleur-pour-la-commande-symfony-dans-un-bash-cygwin-portable%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F03%2Factiver-la-couleur-pour-la-commande-symfony-dans-un-bash-cygwin-portable%2F&amp;style=normal&amp;b=2" height="61" width="50" title="activer la couleur pour la commande symfony dans un bash cygwin portable" alt=" activer la couleur pour la commande symfony dans un bash cygwin portable" /><br />
			</a>
		</div>
<h2>symfony en couleur</h2>
<p>Les utilisateurs windows ont longtemps été privés des couleurs qu&#8217;affichent la sortie de la commande symfony. Mais depuis<a href="http://www.symfony-project.org/tutorial/1_4/fr/whats-new"> symfony 1.3/1.4 les choses se sont beaucoup améliorées</a>.</p>
<p>C&#8217;est le jour où j&#8217;ai voulu <a href="http://www.willdurand.fr/faut-il-tester-les-tests/">tester les tests</a>, que le besoin de couleur c&#8217;est vraiment fait ressentir: j&#8217;ai d&#8217;abord perdu pas mal de temps à essayer d&#8217;activer <a href="http://fr.wikipedia.org/wiki/ANSI.SYS">ansi.sys</a> sur mon windows 7 &#8230;</p>
<p>sans succés!</p>
<p>La solution je l&#8217;ai trouvé chez  <a href="http://www.jnieto.org/article/colorize_your_windows_console_life_with_symfony">Jonathan Nieto : Colorize your Windows console life with symfony</a> (et aussi grâce à <a href="http://twitter.com/couac">@couac</a>) et elle s&#8217;appelle <a href="http://adoxa.110mb.com/ansicon/index.html">ANSICON</a> il suffit donc de</p>
<ul>
<li>télécharger le zip</li>
<li>dézipper</li>
<li>copier / coller les fichiers ansi.dll et ansicon.exe dans c:\windows \system32</li>
<li>taper ansicon -i dans un prompt de commande</li>
</ul>
<p><strong>N.B.</strong> vous devez rouvrir une autre fenêtre MS-DOS pour que la couleur soit</p>
<p><strong>N.B2.</strong> si comme moi vous disposez d&#8217;un environnement de développement portable xampp ou UwAmp, cette manipulation est à faire sur chacun des postes que vous utilisez.</p>
<p>Ca marche aussi bien dans une bête commande MS-DOS que dans un cygwin, sans avoir à utiliser l&#8217;option &#8211;force de la commande symfony, du coup j&#8217;ai tenté</p>
<h2>cygwin portable</h2>
<p>J&#8217;avais déjà joué un peu à modifier le path au lancement de la console, lors de l&#8217;installation portable de Git afin de changer éventuellement d&#8217;intrerpréteur en ligne de commande PHP lors d&#8217;une même session par exemple. Mais ayant un bout de commande <a href="http://www.itefix.no/i2/node/10650">cwrsync</a> par là, un bout d&#8217;install <a href="http://blog.mazenod.fr/2011/02/git-portable-console2-sous-windows/">git</a> par ailleurs, je me suis itéressé à cygwin et à son potentiel portable, afin de tout unifier.</p>
<ul>
<li>J&#8217;ai en fait installé cygwin sur mon disque dur usb (dans z:\MyApps\cygwin), mais la démarche est la même en partant d&#8217;un <a href="http://sourceforge.net/projects/cygwinportable/">cygwin portable</a> (pas super à jour :/) <a href="http://bitsofwizardry.wordpress.com/2010/01/29/cygwin-portable-some-linux-power-on-a-usb-for-windows/">comme l&#8217;explique ce post </a></li>
<li> J&#8217;ai ensuite créé un home dir dans z:\MyApps\cygwin\home\mazenovi qui me permet de rendre mes préférences (.ssh, .bashrc) portables elles aussi.</li>
<li>Enfin j&#8217;ai simplement modifié le batch de lancement Cygwin.bat en CygwinPortable.bat comme suit</li>
</ul>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">@</span><span style="color: #7a0874; font-weight: bold;">echo</span> off<br />
<br />
chdir \MyApps\Cygwin\bin<br />
<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">path</span>=<span style="color: #000000; font-weight: bold;">%</span>WD<span style="color: #000000; font-weight: bold;">%</span>\cygwin\bin;<span style="color: #000000; font-weight: bold;">%</span>WD<span style="color: #000000; font-weight: bold;">%</span>\cygwin\usr\X11R6\bin;\MyApps\xampp\php;\MyApps\xampp\mysql\bin;<span style="color: #000000; font-weight: bold;">%</span>path<span style="color: #000000; font-weight: bold;">%</span><br />
<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">SHELL</span>=<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">bash</span><br />
<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">HOME</span>=<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>mazenovi<br />
<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">DISPLAY</span>=:<span style="color: #000000;">0</span><br />
<span style="color: #c20cb9; font-weight: bold;">bash</span> <span style="color: #660033;">--login</span> <span style="color: #660033;">-i</span></div></div>
<p>L&#8217;idée est simplement d&#8217;enlever les lettres de lecteur pour avoir des path partant de la racine de la clé, et de rajouter quelques variables d&#8217;environnement (ici le path vers le php et le mysql de mon installation xampp portable). Une fois fait il suffit d&#8217;installer les commandes dont vous avez besoin (git et rsync dans mon cas) via cygwin en relançant le setup.exe (si vous êtes partis de la version portable de cycgwin n&#8217;oubliez pas de remplacer cygwinsetup.exe par un setup.exe à jour).</p>
<p>Pour finir j&#8217;ai ensuite créé un onglet dans <a href="http://sourceforge.net/projects/console/">console2</a> une petite console libre, permettant entre autre d&#8217;utiliser la font consolas et de gérer la transparence de votre ligne de commande</p>
<p><a href="http://blog.mazenod.fr/wp-content/uploads/2011/08/cygwin.png" rel="lightbox[1423]"><img class="aligncenter size-medium wp-image-1476" title="cygwin" src="http://blog.mazenod.fr/wp-content/uploads/2011/08/cygwin-300x227.png" alt="cygwin 300x227 activer la couleur pour la commande symfony dans un bash cygwin portable" width="300" height="227" /></a></p>
<p>de quoi réconcilier les windoziens avec la ligne de commande :p</p>
<h2>Sale Geek kro$oft!</h2>
<p>Vous me traiterez sans doute de sale bricolo car j&#8217;utilise des installations Apache MySQL PHP windows (xampp ou UwAmp) à l&#8217;intèrieur d&#8217;un Cygwin qui est un pseudo Unix. Ce à quoi je répondrai, &laquo;&nbsp;c&#8217;est vrai! c&#8217;est un mélange des genres!&nbsp;&raquo;, mais grâce à UwAmp par exemple, je peux utiliser des versions de PHP différentes simplement en ouvrant un nouvel onglet dans ma console &#8230;</p>
<p>&lt;troll&gt;Et puis j&#8217;ai déjà vu des système Unix like (à base de BSD par exemple) largement aussi fermé qu&#8217;un windows&lt;/troll&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mazenod.fr/2011/03/activer-la-couleur-pour-la-commande-symfony-dans-un-bash-cygwin-portable/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Git portable &amp; Console2 sous windows</title>
		<link>http://blog.mazenod.fr/2011/02/git-portable-console2-sous-windows/</link>
		<comments>http://blog.mazenod.fr/2011/02/git-portable-console2-sous-windows/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 18:18:43 +0000</pubDate>
		<dc:creator>mazenovi</dc:creator>
				<category><![CDATA[bricolage]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[portable apps]]></category>
		<category><![CDATA[gratuit]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://blog.mazenod.fr/?p=1294</guid>
		<description><![CDATA[<p><a href="../wp-content/uploads/2010/08/github.png"><img class="alignleft" style="margin-left: 30px; margin-right: 30px;" title="github" src="../wp-content/uploads/2010/08/github-300x300.png" alt="" width="132" height="132" /></a>Un tuto rapide pour installer git de manière portable et l'intégrer aux mieux dans son prompt préféré (Console2). Nous verrons ensuite comment débuter un nouveau projet géré avec git sur github.</p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F02%2Fgit-portable-console2-sous-windows%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.mazenod.fr%2F2011%2F02%2Fgit-portable-console2-sous-windows%2F&amp;style=normal&amp;b=2" height="61" width="50" title="Git portable & Console2 sous windows" alt=" Git portable & Console2 sous windows" /><br />
			</a>
		</div>
<p>Git est un système de gestion de versions qui s&#8217;est répandu dans le monde du développement comme une traînée de poudre il y a quelques temps; surtout depuis que plusieurs projets majeurs, dont <a href="http://github.com/symfony/symfony">Symfony 2</a> sont passés de svn à git.</p>
<p>Le propos de cet article est d&#8217;installer git de manière portable et intégrée à<a href="http://sourceforge.net/projects/console/"> Console 2</a> qui est mon prompt de commande préféré, et de voir les quelques commandes de bases</p>
<h2>Installation</h2>
<p><a href="http://code.google.com/p/msysgit/">msysgit</a> propose une version portable de git. Une fois décompressée dans votre suite d&#8217;applications portables préférées, vous pouvez avoir accès à Git en ligne de commande en lançant <em>git-cmd.bat</em> ou mieux <em>git-bash.cmd</em>, qui vous donne accès à un bash UNIX minimal (c&#8217;est à dire limité à quelques commandes) dans votre windows</p>
<p>Il n&#8217;y a absolument rien de sorcier là dedans, mais notez tout de même que pour changer de répertoire vous ne devez utiliser que des / et non pas des \, et faire référence à la lettre du lecteur de disque comme suit</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>c<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>mazenovi<span style="color: #000000; font-weight: bold;">/</span>Desktop</div></div>
<p>C&#8217;est un peu comme du cygwin, mais visiblement ça n&#8217;en est pas!</p>
<h2>Console2</h2>
<p>Ce qui est sympa c&#8217;est d&#8217;intégrer l&#8217;environnement ligne de commande Git en tant qu&#8217;onglet de <a href="http://console.sourceforge.net">Console2</a>.</p>
<p><a href="http://console.sourceforge.net/">Console2</a> est un prompt de commande souple, personnalisable (police, couleur, transparence, etc &#8230;) et complètement portable.</p>
<p>Vous pouvez ajouter des onglets prédéfinis dans &laquo;&nbsp;Edit&nbsp;&raquo; -&gt; &laquo;&nbsp;Settings&nbsp;&raquo;</p>
<p style="text-align: center;"><a href="http://blog.mazenod.fr/wp-content/uploads/2010/08/settings.png" rel="lightbox[1294]"><img class="size-medium wp-image-1298 aligncenter" title="settings" src="http://blog.mazenod.fr/wp-content/uploads/2010/08/settings-293x300.png" alt="settings 293x300 Git portable & Console2 sous windows" width="293" height="300" /></a></p>
<p>Vous devez spécifier le chemin vers le batch permettant d&#8217;accéder à git en ligne de comande (git-bash.bat).</p>
<p>Vous pouvez également spécifier un répertoire par défaut dans lequel sera positionné votre prompt.</p>
<p>Il suffit ensuite de bien penser à mettre des paths relatifs ou absolus, mais dans ce dernier cas sans spécifier la lettre du lecteur pour que la configuration reste elle aussi portable.</p>
<p>Ensuite le git-bash peut se lancer dans <a href="http://console.sourceforge.net/">Console2</a> en ouvrant un nouvel onglet<a href="http://console.sourceforge.net/"><br />
</a></p>
<p style="text-align: center;"><a href="http://blog.mazenod.fr/wp-content/uploads/2010/08/tab.png" rel="lightbox[1294]"><img class="size-medium wp-image-1299 aligncenter" title="tab" src="http://blog.mazenod.fr/wp-content/uploads/2010/08/tab-300x179.png" alt="tab 300x179 Git portable & Console2 sous windows" width="300" height="179" /></a></p>
<p>Notez bien que nous n&#8217;avons pas touché aux variables d&#8217;environnement  du système, et que pour autant la commande git est accessible de partout &#8230; le path système est en fait modifié directement par le script git-bash.bat</p>
<h1>Test sur github</h1>
<p><a href="http://github.com">github</a> est un site d&#8217;hébergement et de gestion de développement  de logiciels utilisant git et <a href="http://fr.wikipedia.org/wiki/GitHub">choisi par beaucoup de projets open source</a>.</p>
<h2>Avec git-bash</h2>
<h3>générer et configurer une clé RSA</h3>
<p>Dans un onglet git bash (que vous venez de créer) tapez</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span> <span style="color: #660033;">-t</span> rsa</div></div>
<p>Laissez tous les choix par défaut (appuyez deux fois sur entrée)</p>
<p>Vous obtenez deux fichiers (mazenovi est bien sûr à remplacer par votre nom d&#8217;utilisateur) :</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">/</span>c<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>mazenovi<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa</div></div>
<p>est votre clé privée, et elle est au bon endroit et</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">/</span>c<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>mazenovi<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa.pub</div></div>
<p>est votre clé publique que vous devez saisir dans la section <a href="https://github.com/account#keys">Account settings</a> -&gt; SSH Public Keys.</p>
<p>Vous pouvez ensuite configurer votre nom &amp; mail (à remplacer par les votre)</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> user.name <span style="color: #ff0000;">&quot;mazenovi&quot;</span><br />
<br />
<span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> user.email vmazenod<span style="color: #000000; font-weight: bold;">@</span>mail.com</div></div>
<p>de manière générale la conf de git est stockée dans</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">/</span>c<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>mazenovi<span style="color: #000000; font-weight: bold;">/</span>.gitconfig</div></div>
<p>Tout est alors prêt pour créer votre &#8230;</p>
<h3>Premier repository</h3>
<p>il vous faudra tout d&#8217;abord <a href="http://github.com/repositories/new">créer un nouveau dépôt </a>(&laquo;&nbsp;ckMedia&nbsp;&raquo; dans mon cas) sur <a href="http://github.com/">github</a></p>
<p><strong>créer le dépôt sur votre machine local</strong>, qui n&#8217;est rien de plus qu&#8217;un répertoire géré par git, en tapant toujours dans l&#8217;onglet onglet git bash</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> ckMedia<br />
<br />
<span style="color: #7a0874; font-weight: bold;">cd</span> ckMedia</div></div>
<p><strong>le faire gérer par git</strong></p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git init</span></div></div>
<p><strong>le modifier</strong> (créer un simple fichier vide README par exemple)</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">touch</span> README</div></div>
<p><strong>ne plus faire gérer un fichier par git</strong> (les modifications apportées au fichier ne sont plus prises en compte par git)</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git rm</span> README</div></div>
<p><strong>annuler les modifications</strong> (revenir à la denière verison)</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git checkout</span></div></div>
<p><strong>ajouter la modification au prochain commit</strong> (prochaine mise à jour du repostory sur github)</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git add</span> README</div></div>
<p><strong>supprimer le fichier du prochain commit</strong></p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git reset</span> README</div></div>
<p><strong>faire un commit</strong> (valider les changements sur le repository local)</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git commit</span> <span style="color: #660033;">-m</span> <span style="color: #ff0000;">'first commit'</span></div></div>
<p><strong>N.B.</strong> le commentaire est obligatoire, si vous oubliez l&#8217;option -m l&#8217;éditeur de texte par défaut est lancé</p>
<p><strong>Pour faire un commit sur tous les fichiers modifiés et gérés par git</strong> vous pouvez utiliser l&#8217;option -a. Les fichiers supprimés dans le projet seront supprimés (git rm) du dépôt</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git commit</span> <span style="color: #660033;">-a</span> <span style="color: #660033;">-m</span> <span style="color: #ff0000;">'update all my changes'</span></div></div>
<p><strong>Pour faire afficher ce qui est à &laquo;&nbsp;commiter&nbsp;&raquo;</strong>, c&#8217;est à dire ce qui a déjà fait l&#8217;objet d&#8217;un add, et ce qui a été simplement modifié, c&#8217;est à dire qui est géré mais n&#8217;a pas fait l&#8217;objet d&#8217;un add:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git status</span></div></div>
<p>on appelle cet état transitoire entre le moment où le fichier est modifié et le commit le <strong>stage</strong></p>
<p>Les schéma suivant résume les commandes que nous venons de voir<br />
<object width="728" height="312" type="image/svg+xml" data="http://marklodato.github.com/visual-git-guide/basic-usage.svg"></object></p>
<p><strong>ajouter un raccourcis vers l&#8217;URL du dépot github</strong>. On le nomme ici origin</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git remote</span> add origin <span style="color: #c20cb9; font-weight: bold;">git</span><span style="color: #000000; font-weight: bold;">@</span>github.com:mazenovi<span style="color: #000000; font-weight: bold;">/</span>ckMedia.git</div></div>
<p><strong>répercuter les changements sur le dépot cible</strong></p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git push</span> origin master</div></div>
<p><strong>pour lister tous les commit</strong></p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git log</span></div></div>
<h3>Pour la petite histoire</h3>
<p>Le magazine PC  World  nous apprend que « quand on lui a demandé   pourquoi il avait  appelé son logiciel &laquo;&nbsp;git&nbsp;&raquo;, qui est à peu près   l&#8217;équivalent de « connard »  en argot anglais, Linus Torvalds a répondu «   je ne suis qu&#8217;un  égocentrique, donc j&#8217;appelle tous mes projets  d&#8217;après  ma propre  personne. D&#8217;abord Linux, puis Git. »</p>
<p>source : <a href="http://fr.wikipedia.org/wiki/Git">http://fr.wikipedia.org/wiki/Git</a></p>
<h3>compélément</h3>
<ul>
<li>pour plus de détails  <a href="http://gitref.org/">http://gitref.org/</a></li>
<li>pour me trouver sur git <a href="http://github.com/mazenovi"> http://github.com/mazenovi</a></li>
<li>Git staging area <a href="http://www.gitready.com/beginner/2009/01/18/the-staging-area.html">http://www.gitready.com/beginner/2009/01/18/the-staging-area.html</a></li>
<li>un petit guide en français: <a href="http://www.unixgarden.com/index.php/administration-systeme/git-it">http://www.unixgarden.com/index.php/administration-systeme/git-it</a></li>
<li>une documentation un peu plus exhaustive en français : <a href="http://www.alexgirard.com/git-book/">http://www.alexgirard.com/git-book/</a></li>
<li>un tuto en anglais: <a href="http://gitimmersion.com">http://gitimmersion.com</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.mazenod.fr/2011/02/git-portable-console2-sous-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Les vikings &amp; l&#8217;agilité</title>
		<link>http://blog.mazenod.fr/2010/09/les-vikings-lagilite/</link>
		<comments>http://blog.mazenod.fr/2010/09/les-vikings-lagilite/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 18:36:23 +0000</pubDate>
		<dc:creator>mazenovi</dc:creator>
				<category><![CDATA[dev]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.mazenod.fr/?p=1567</guid>
		<description><![CDATA[<p><a href="../wp-content/uploads/2010/09/hagar_c3_sf.gif"><img class="alignleft" style="margin-left: 20px; margin-right: 20px;" title="hagar_c3" src="../wp-content/uploads/2010/09/hagar_c3_sf.gif" alt="" width="119" height="101" /></a>A ma gauche les "vikings laws", à ma droite  le manifeste agile. A ma gauche les règles de vie millénaires d'un peuple de conquérants  et d'excellents commerçants, à ma droite les principes des méthodes de  gestion de projets les plus récentes.</p>
<p>On connaissait les barbus UNIX, les ninjas jQuery ... Les vikings symfony arrivent ;)</p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.mazenod.fr%2F2010%2F09%2Fles-vikings-lagilite%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.mazenod.fr%2F2010%2F09%2Fles-vikings-lagilite%2F&amp;style=normal&amp;b=2" height="61" width="50" title="Les vikings & lagilité" alt=" Les vikings & lagilité" /><br />
			</a>
		</div>
<p>A ma gauche les &laquo;&nbsp;vikings laws&nbsp;&raquo;, à ma droite  le manifeste agile.</p>
<p>A ma gauche les règles de vie millénaires d&#8217;un peuple de conquérants et d&#8217;excellents commerçants, à ma droite les principes des méthodes de gestion de projets les plus récentes.</p>
<table id="bordered" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr style="text-align: center;">
<td width="35%"><strong>Viking laws</strong></td>
<td width="65%"><strong>Manifesto for Agile Software Development</strong></td>
</tr>
<tr>
<td>Be brave and aggressive</p>
<ul>
<li>Be direct</li>
<li>Grab all opportunities</li>
<li>Attack one target at a time</li>
<li>Don’t plan everything in detail</li>
<li>Be versatile and agile</li>
<li>Use varying methods of attack</li>
<li>Use top quality weapons</li>
</ul>
</td>
<td>
<ul>
<li>The most efficient and effective method of conveying information to and within a development team is face-to-face conversation</li>
<li> Simplicity&#8211;the art of maximizing the amount of work not done&#8211;is essential</li>
<li> Welcome changing requirements, even late in development. Agile processes harness change for the customer&#8217;s competitive advantage</li>
</ul>
</td>
</tr>
<tr>
<td>Be prepared</p>
<ul>
<li>Keep weapons in good condition</li>
<li>Keep in shape</li>
<li>Find good battle comrades</li>
<li>Agree on important points</li>
<li>Choose one chief</li>
</ul>
</td>
<td>
<ul>
<li>Continuous attention to technical excellence and good design enhances agility</li>
<li> Agile processes promote sustainable development</li>
<li> The sponsors, developers, and users should be able to maintain a constant pace indefinitely</li>
<li> Build projects around motivated individuals</li>
<li> Give them the environment and support they need, and trust them to get the job done</li>
</ul>
</td>
</tr>
<tr>
<td>Be a good merchant</p>
<ul>
<li>Find out what the market needs</li>
<li>Don’t promise what you can’t keep</li>
<li>Don’t demand overpayment</li>
<li>Arrange things so that you can return</li>
</ul>
</td>
<td>
<ul>
<li>Business people and developers must work together daily throughout the project</li>
<li>Our highest priority is to satisfy the customerthrough early and continuous delivery of valuable software</li>
<li>Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale</li>
<li>Working software is the primary measure of progress.</li>
</ul>
</td>
</tr>
<tr>
<td>Keep the camp in order</p>
<ul>
<li>Keep things tidy and organised</li>
<li>Arrange enjoyable activities which strengthen the group</li>
<li>Make sure everybody does useful work</li>
<li>Consult all members of the group for advice</li>
</ul>
</td>
<td>
<ul>
<li>Continuous attention to technical excellence and good design enhances agility</li>
<li> At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly</li>
<li> The best architectures, requirements, and designs emerge from self-organizing teams</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>C&#8217;est fout tout ce qu&#8217;on a inventé en 1000 ans!</p>
<p>On connaissait les barbus UNIX, les ninjas jQuery &#8230; Les vikings symfony arrivent <img src='http://blog.mazenod.fr/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Les vikings & lagilité" class='wp-smiley' title="Les vikings & lagilité" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mazenod.fr/2010/09/les-vikings-lagilite/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>quitter PuTTY pour KiTTY</title>
		<link>http://blog.mazenod.fr/2010/09/quitter-putty-pour-kitty/</link>
		<comments>http://blog.mazenod.fr/2010/09/quitter-putty-pour-kitty/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 18:55:30 +0000</pubDate>
		<dc:creator>mazenovi</dc:creator>
				<category><![CDATA[bricolage]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[portable apps]]></category>
		<category><![CDATA[gratuit]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.mazenod.fr/?p=1271</guid>
		<description><![CDATA[<p><a href="../wp-content/uploads/2010/07/a-hellokitty.gif"><img class="alignleft" style="margin-left: 30px; margin-right: 30px;" title="a-hellokitty" src="../wp-content/uploads/2010/07/a-hellokitty.gif" alt="" width="112" height="115" /></a>Ami Barbu, mais pas trop (puisqu'il s'agit d'un article concernant un client SSH mais sous windows), toi qui gère moulte serveurs *NIX, avec aisance, peut-être comme moi ne connais tu pas encore les bienfaits de KiTTY par rappport à PuTTY ...</p>
<p>Si tu veux améliorer ton quotidien sans perdre de temps à reconfigurer les sessions de tes 3243 serveurs un par un, cet article est pour toi</p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.mazenod.fr%2F2010%2F09%2Fquitter-putty-pour-kitty%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.mazenod.fr%2F2010%2F09%2Fquitter-putty-pour-kitty%2F&amp;style=normal&amp;b=2" height="61" width="50" title="quitter PuTTY pour KiTTY" alt=" quitter PuTTY pour KiTTY" /><br />
			</a>
		</div>
<p><a href="http://blog.mazenod.fr/wp-content/uploads/2010/07/HELLO1.gif" rel="lightbox[1271]"><img class="alignleft size-full wp-image-1273" style="margin: 20px;" title="HELLO1" src="http://blog.mazenod.fr/wp-content/uploads/2010/07/HELLO1.gif" alt="HELLO1 quitter PuTTY pour KiTTY" width="203" height="201" /></a>Des années que <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">PuTTY</a> est mon meilleur ami pour la gestion de mes serveurs UNIX. Jusque là je n&#8217;avais jamais remis ce petit soft en question et c&#8217;est en <a href="http://blog.mazenod.fr/2010/09/framatuning-a-base-de-liberkey/">installant conjointement la dernière version de la Framakey et de la Liberkey </a>que je me suis intéressé à <a href="http://www.9bis.net/kitty/">KiTTY</a>. Ce dernier ne présente en effet QUE des améliorations par rapport à  à son ancêtre</p>
<h2>Migrer</h2>
<p>Hélas il n&#8217;y a pas de solutions miracles pour importer les sessions de PuTTY vers KiTTY. L&#8217;idée de base est que ces deux softs écrivent les paramètres des sessions dans la base de registre, de manière temporaire s&#8217;ils sont en version portable et de manière permanente sinon.</p>
<p>PuTTY dans la clé HKCU/Software/SimonTatham/PuTTY</p>
<p>et KiTTY dans HKCU/Software/9bis.com/KiTTY</p>
<p>Si vous utilisez PuTTY portable vous devez avoir un répertoire Data/settings/putty.reg dans le répertoire de l&#8217;application. Pour la version non portable il vous faudra exporter manuellement à partir de la base de registre (avec regedit puis clic droit -&gt; exporter sur la clé à exporter) la clé</p>
<p><a href="http://blog.mazenod.fr/wp-content/uploads/2011/07/regedit.png" rel="lightbox[1271]"><img class="aligncenter size-medium wp-image-1538" title="regedit" src="http://blog.mazenod.fr/wp-content/uploads/2011/07/regedit-239x300.png" alt="regedit 239x300 quitter PuTTY pour KiTTY" width="239" height="300" /></a></p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#91;</span>HKEY_CURRENT_USER\Software\SimonTatham\PuTTY<span style="color: #7a0874; font-weight: bold;">&#93;</span></div></div>
<p>Il faut ensuite éditer cette clé avec un éditeur de texte et faire en rechercher / remplacer de l&#8217;expression &laquo;&nbsp;\SimonTatham\PuTTY&nbsp;&raquo; par &laquo;&nbsp;\9bis.com\KiTTY&nbsp;&raquo;, puis sauvegarder le fichier transformé en kitty.reg sur le bureau. Il n&#8217;y a ensuite qu&#8217;à double cliquer sur ce fichier pour importer les clés que l&#8217;on vient de modifier.</p>
<p>A partir de là il faut maintenant utiliser KiTTY en ligne de commande pour qu&#8217;il aille chercher la configuration dans la base de registre et qu&#8217;il la convertisse en fichier locaux pour que la configuration soit pleinement portable, ce qui se fait via la commande</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">kitty.exe <span style="color: #660033;">-convert-dir</span></div></div>
<p>Normalement 6 répertoires sont créés dans le répertoire de l&#8217;application KiTTY</p>
<h2><a href="http://blog.mazenod.fr/wp-content/uploads/2010/07/Kitty.png" rel="lightbox[1271]"><img class="aligncenter size-full wp-image-1272" title="Kitty" src="http://blog.mazenod.fr/wp-content/uploads/2010/07/Kitty.png" alt="Kitty quitter PuTTY pour KiTTY" width="284" height="240" /></a>Fonctionnalités</h2>
<p>le fichier kitty.ini, dans le répertoire de l&#8217;application permet d&#8217;ajouter <a href="http://www.9bis.net/kitty/">quelques options sympas</a>, dont</p>
<div class="codecolorer-container dos blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="dos codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[KiTTY]<br />
icon=yes            ;permet d'avoir une <span style="color: #33cc33;">&lt;</span>a href=&quot;http://www.9bis.net/kitty/?page=That<span style="color: #33cc33;">%</span><span style="color: #448888;">2</span>7s<span style="color: #33cc33;">%</span><span style="color: #448888;">2</span>0all<span style="color: #33cc33;">%</span><span style="color: #448888;">2</span>0folks<span style="color: #33cc33;">&amp;</span>amp;zone=fr&quot;<span style="color: #33cc33;">&gt;</span>icone par session<span style="color: #33cc33;">&lt;</span>/a<span style="color: #33cc33;">&gt;</span><br />
transparency=yes ;permet de faire le cake en réglant la <span style="color: #33cc33;">&lt;</span>a href=&quot;http://www.9bis.net/kitty/?page=Transparence<span style="color: #33cc33;">&amp;</span>amp;zone=fr&quot;<span style="color: #33cc33;">&gt;</span>transparence de la fenêtre avec ctrl + et ctrl -<span style="color: #33cc33;">&lt;</span>/a<span style="color: #33cc33;">&gt;</span></div></div>
<h2>à Voir aussi</h2>
<ul>
<li><a href="http://www.9bis.net/kitty/">site officiel de KiTTY</a></li>
<li><a href="http://www.thegeekstuff.com/2008/08/turbocharge-putty-with-12-powerful-add-ons-software-for-geeks-3/">Turbocharge PuTTY with 12 Powerful Add-Ons – Software for Geeks #3</a></li>
<li><a href="http://puttycm.free.fr/cms/">PuTTY Connection Manager website</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.mazenod.fr/2010/09/quitter-putty-pour-kitty/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>note sur les suffixes dans les routes symfony &gt;= 1.2</title>
		<link>http://blog.mazenod.fr/2010/04/note-sur-les-suffixes-dans-les-routes-symfony-1-2/</link>
		<comments>http://blog.mazenod.fr/2010/04/note-sur-les-suffixes-dans-les-routes-symfony-1-2/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 15:41:18 +0000</pubDate>
		<dc:creator>mazenovi</dc:creator>
				<category><![CDATA[dev]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.mazenod.fr/?p=375</guid>
		<description><![CDATA[<p><a href="http://blog.mazenod.fr/wp-content/uploads/2010/04/symfony_error.gif"><img class="alignleft" style="margin-left: 20px; margin-right: 20px;" title="symfony_error" src="http://blog.mazenod.fr/wp-content/uploads/2010/04/symfony_error-300x141.gif" alt="" width="300" height="141" /></a><span style="font-weight: normal;">Avez vous déjà essayer d'ajouter une extension .html ou .htm aux urls de votre application symfony?</span></p>
<p><span style="font-weight: normal;">Voici une petite note qui indique la marche à suivre pour éviter les prises de tête</span></p>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.mazenod.fr%2F2010%2F04%2Fnote-sur-les-suffixes-dans-les-routes-symfony-1-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.mazenod.fr%2F2010%2F04%2Fnote-sur-les-suffixes-dans-les-routes-symfony-1-2%2F&amp;style=normal&amp;b=2" height="61" width="50" title="note sur les suffixes dans les routes symfony &gt;= 1.2" alt=" note sur les suffixes dans les routes symfony &gt;= 1.2" /><br />
			</a>
		</div>
<h3><a href="http://blog.mazenod.fr/wp-content/uploads/2010/04/symfony_error.gif" rel="lightbox[375]"></a>le système de routage</h3>
<p>Si comme moi vous avez tenté d&#8217;utiliser la directive .suffix dans le routing.yml</p>
<pre class="yml:nogutter">prod:
  routing:
    param:
      suffix: .html</pre>
<p>et que vous vous attendiez à ce que vorte suffixe .html soit ajouté automatiquement à tous les liens générés via link_to et gen_url &#8230; c&#8217;est que vous ne savez pas que <a href="http://groups.google.com/group/symfony-users/browse_thread/thread/b8991d26a8bfc82f">par défaut symfony génère des urls aussi courtes que possible</a>.</p>
<p>Il vous faudra donc changer ce comportement dans factories.yml</p>
<pre class="yml:nogutter">all:
  routing:
    class: sfPatternRouting
    param:
      generate_shortest_url: false</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.mazenod.fr/2010/04/note-sur-les-suffixes-dans-les-routes-symfony-1-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>outils de modélisation pour symfony</title>
		<link>http://blog.mazenod.fr/2010/03/outils-de-modelisation-pour-symfony/</link>
		<comments>http://blog.mazenod.fr/2010/03/outils-de-modelisation-pour-symfony/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 10:14:18 +0000</pubDate>
		<dc:creator>mazenovi</dc:creator>
				<category><![CDATA[dev]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[gratuit]]></category>
		<category><![CDATA[modélisation]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.mazenod.fr/?p=818</guid>
		<description><![CDATA[<p><a href="http://blog.mazenod.fr/wp-content/uploads/2010/03/mwb.png"><img class="alignleft" style="margin-left: 20px; margin-right: 20px;" title="mwb" src="http://blog.mazenod.fr/wp-content/uploads/2010/03/mwb-300x171.png" alt="" width="300" height="171" /></a>Quel développeur n'a pas rêvé de dessiner son application?</p>
<p>Avec les fonctionnalités CRUD d'un framework du type symfony reposant sur une ORM (que ce soit Propel ou Doctrine) et un bon outil de modélisation comme MySQL Workbench, il est possible de développer une approche RAD intéressante</p>
<div></div>
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.mazenod.fr%2F2010%2F03%2Foutils-de-modelisation-pour-symfony%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.mazenod.fr%2F2010%2F03%2Foutils-de-modelisation-pour-symfony%2F&amp;style=normal&amp;b=2" height="61" width="50" title="outils de modélisation pour symfony" alt=" outils de modélisation pour symfony" /><br />
			</a>
		</div>
<p><a href="http://blog.mazenod.fr/wp-content/uploads/2010/03/mwb.png" rel="lightbox[818]"></a><a href="http://www.symfony-project.org/">Symfony</a> à radicalement changer mon approche du développement PHP.</p>
<p>En effet l&#8217;approche <a href="http://fr.wikipedia.org/wiki/D%C3%A9veloppement_rapide_d%27applications">RAD</a> proposée par ce framework rend d&#8217;autant plus crucial le schéma de base de données, sur lequel est basé l&#8217;application. Ce schéma matérialisé par le fichier schema.yml (ou .xml si vous utilisez propel) est en quelque sorte la feuille de route du développeur agile.</p>
<p>Il est intéressant de remarquer qu&#8217;une modélisation graphique de ce schéma donne un point de vue (partiel certes) sur le système d&#8217;information que l&#8217;applicaiton sert &#8230;</p>
<p>Il ya déjà quelques temps déjà j&#8217;avais cherché à automatiser la modification du schéma géré par <a href="http://www.symfony-project.org/">symfony</a> via des outils graphiques (<a href="http://blog.mazenod.fr/2007/11/utiliser-dbdesigner-avec-l-i18n-de-symfony/">Utiliser DBDesigner avec l&#8217;i18n de symfony 1.0</a>)</p>
<p>Aujourd&#8217;hui je vous propose un petit tour d&#8217;horizon des solutions à votre disposition selon vos outils et votre orm préférés</p>
<h2>DbDesigner</h2>
<p>si vous utilisez propel</p>
<ul>
<li>Le plugin <a href="http://www.symfony-project.org/plugins/sfDB4toPropelPlugin/1_0_3">sfDB4toPropelPlugin</a> automatisera le processus de conversion du schéma sauvé par DbDesigner en un schema.yml (à la manière des scritps cités précédemment)</li>
</ul>
<p>si vous utilisez Doctrine</p>
<p>le plugin <a href="http://www.symfony-project.org/plugins/sfDbDesignerPlugin">sfDbDesignerPlugin</a> ne s&#8217;installe pas correctement via la commande symfony. En revanche en l&#8217;installant manuellement, i.e. en téléchargeant l&#8217;archive directement sur le site et en la décompressant dans /plugins/sfDbDesignerPlugin puis en activant le plugin dans /config/ProjectConfiguration.class.php</p>
<pre class="php:nogutter:nocontrols">&lt;?php

require_once dirname(__FILE__).'/..\lib\vendor\symfony\lib/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();

class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
    $this-&gt;enablePlugins('sfDoctrinePlugin');
    $this-&gt;enablePlugins('sfDbDesignerPlugin');
  }
}</pre>
<p>vous aurez accès à la task</p>
<pre class="bash:nogutter:nocontrols">php symfony dbdesigner:convert-doctrine doc/database.xml</pre>
<p>Où  doc/database.xml est le path vers le fichier DBDesigner.<br />
Si vous n&#8217;avez pas une application nommée frontend il faudra la passer ne paramètre</p>
<pre class="bash:nogutter:nocontrols">php symfony dbdesigner:convert-doctrine --application=myapp doc/database.xml</pre>
<p>vous obtiendrez alors un fichier &laquo;&nbsp;ready to build&nbsp;&raquo; du schéma modélisé avec DBDesigner dans config/doctrine/schema.yml</p>
<h2>MySQLWorkBench</h2>
<p>Il est à noter que <a href="http://www.mysql.fr/products/workbench/">MySQLWorkbench</a> est un fork de <a href="http://www.fabforce.net/dbdesigner4/">DBDesigner4</a>, mais il ne peut pas remplacer ce dernier. En effet si <a href="http://www.mysql.fr/products/workbench/">MySQLWorkbench</a> sait parfaitement importer un fichier xml produit par <a href="http://www.fabforce.net/dbdesigner4/">DbDesigner4</a>, il est en revanche incapable d&#8217;exporter ce schéma au format xml de <a href="http://www.fabforce.net/dbdesigner4/">DbDesigner4</a>.  <a href="http://www.mysql.fr/products/workbench/">MySQLWorkbench</a> ne permet que d&#8217;enregistrer au format mwb.</p>
<p>Ce format est en fait un zip, qui une fois décompresser donne un fichier xml, mais qui n&#8217;a rien à voir avec le xml généré par <a href="http://www.fabforce.net/dbdesigner4/">DBDesigner4</a>, le fichier xml issu du .wmb est donc inutilisatble avec les deux plugins ci dessus.</p>
<p><a href="http://www.mysql.fr/products/workbench/">MySQLWorkbench</a> bénéficie en revanche d&#8217;<a href="http://forums.mysql.com/read.php?52,216856,216856">une bibliothèque de plugins</a> qui permettent de l&#8217;utiliser en remplaçant de <a href="http://www.fabforce.net/dbdesigner4/">DBDesigner</a>.</p>
<p>Pour installer un plugin dans<a href="http://www.mysql.fr/products/workbench/"> MySQLWorkbench</a> il suffit de copier le fichier .lua qui contient le code du plugin (du Python Like) dans le répertoire &laquo;&nbsp;modules&nbsp;&raquo; du répertoire d&#8217;installation de <a href="http://www.mysql.fr/products/workbench/">MySQLWorkbench</a></p>
<p><a href="http://blog.mazenod.fr/wp-content/uploads/2010/03/plugin_mwb.png" rel="lightbox[818]"><img class="aligncenter size-full wp-image-855" title="plugin_mwb" src="http://blog.mazenod.fr/wp-content/uploads/2010/03/plugin_mwb.png" alt="plugin mwb outils de modélisation pour symfony" width="553" height="245" /></a></p>
<ul>
<li>Si vous utilisez Doctrine <a href="http://code.google.com/p/mysql-workbench-doctrine-plugin/">mysql-workbench-doctrine-plugin<sup>1</sup> </a>fonctionne plutôt bien</li>
<li>Si vous utilisez Propel <a href="http://www.diloc.de/blog/2009/10/14/mysql-workbench-propel-export-plugin-v05/">mysql-workbench-propel-export-plugin<sup>2</sup></a> de générer le contenu de schema.xml, alors que <a href="http://trac.symfony-project.org/wiki/SymfonyYamlMyqlWorkbenchPlugin">SymfonyYamlMysqlWorkbenchPlugin<sup>3</sup></a> vous permettra de générer le contenu de schema.yml</li>
</ul>
<h2>Dia</h2>
<p>Si vous utilisez propel, il est possible de modéliser également votre schéma avec <a href="http://projects.gnome.org/dia/">Dia</a> grâce au plugin <a href="http://www.symfony-project.org/plugins/diaToPropelPlugin">diaToPropelPlugin</a>, en utilisant la boite à outil &laquo;&nbsp;Database&nbsp;&raquo; ça va sans dire.</p>
<p>Si vous utilisez Doctrine le plugin <a href="http://trac.symfony-project.org/wiki/ConvertPropelSchemaToDoctrineSchema">ConvertPropelSchemaToDoctrineSchema</a> réalisera la conversion d&#8217;un schéma propel en schéma doctrine.</p>
<h2>ArgoUML</h2>
<p>En graltant un pei plus j&#8217;ai trouvé également le plugin<a href="http://sourceforge.net/projects/uml2symfony"> uml2symfony</a>, qui semble avoir l&#8217;ambition de traduire non pas un schéma de base de données, mais un schéma UML généré avec <a href="http://en.wikipedia.org/wiki/ArgoUML">ArgoUML</a>. Je vous laisse aller plus loin car j&#8217;ai personnellement trouvé l&#8217;<a href="http://www.symfonylab.com/uml2symfony/">idée séduisante</a> mais la documentation très pauvre, voir inexistante!</p>
<h2>Conclusion</h2>
<p>Mon choix se portera sur le doublette gagnante <a href="http://www.mysql.fr/products/workbench/">MySQLWorkbench</a>, <a href="http://code.google.com/p/mysql-workbench-doctrine-plugin/">mysql-workbench-doctrine-plugin</a> car:</p>
<ul>
<li><a href="http://www.fabforce.net/dbdesigner4/">DBDesigner </a>n&#8217;est plus maintenu depuis belle lurette (je me rends compte en écrivant ce post que <a href="http://sourceforge.net/projects/dbdesigner-fork/">DBDesigner fork</a> qui a dormi pendant prêt de 3 ans semble revenir à la vie depuis quelques jours)</li>
<li>j&#8217;utilise maintenant Doctrine</li>
<li>ce plugin permet une gestion fine des <a href="http://code.google.com/p/mysql-workbench-doctrine-plugin/wiki/HowToAddDoctrineBehavioursToTheWorkbenchModel">Behaviors Doctrine</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.mazenod.fr/2010/03/outils-de-modelisation-pour-symfony/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

