<?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>Amicalement Web - Astuces et Bons plans dans le développement web &#187; git</title>
	<atom:link href="http://www.amicalement-web.net/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.amicalement-web.net</link>
	<description>Astuces et bons plans d&#039;un web developpeur</description>
	<lastBuildDate>Wed, 04 Jan 2012 14:54:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Twitter et Facebook sont has-been, utilisez Github !</title>
		<link>http://www.amicalement-web.net/twitter-et-facebook-sont-has-been-utilisez-github/2010/05/26/</link>
		<comments>http://www.amicalement-web.net/twitter-et-facebook-sont-has-been-utilisez-github/2010/05/26/#comments</comments>
		<pubDate>Wed, 26 May 2010 12:58:30 +0000</pubDate>
		<dc:creator>Vince</dc:creator>
				<category><![CDATA[Réflexion]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1381</guid>
		<description><![CDATA[Alors oui ce titre est racoleur et débile, et alors ? ;-) Pour ceux qui ne connaissent pas encore Github, c&#8217;est ce qu&#8217;on appelle une &#171;&#160;forge&#160;&#187;. La plus connue étant Sourceforge, qui permet d&#8217;héberger des projets opensource (code, wiki, bug tracker, &#8230;). Comme Sourceforge, Github propose d&#8217;héberger gratuitement des projets opensource, et met à disposition [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/twitter-et-facebook-sont-has-been-utilisez-github/2010/05/26/#more-1381"><img src="http://www.amicalement-web.net/wp-content/uploads/entete_github.png" alt="" title="entete_github" width="614" height="100" class="aligncenter size-full wp-image-1138" /></a><br />
Alors oui ce titre est racoleur et débile, et alors ? ;-) Pour ceux qui ne connaissent pas encore <a  href="http://www.github.com">Github</a>, c&#8217;est ce qu&#8217;on appelle une &laquo;&nbsp;forge&nbsp;&raquo;. La plus connue étant <a  href="http://www.sourceforge.com">Sourceforge</a>, qui permet d&#8217;héberger des projets opensource (code, wiki, bug tracker, &#8230;).<br />
Comme Sourceforge, <strong>Github propose d&#8217;héberger gratuitement des projets opensource</strong>, et met à disposition tous les outils pour gérer son projet. Mais la ressemblance s&#8217;arrête là, <strong>Github, c&#8217;est bien plus que ça</strong>.<br />
<span id="more-1381"></span></p>
<h3>SVN vs Git</h3>
<p>Tout d&#8217;abord, Sourceforge utilise un système de gestion de code source appelé SVN (j&#8217;espère ne rien vous apprendre ici) alors que Github utilise un <strong>système de gestion de code source décentralisé appelé Git</strong>. </p>
<p>Vous voyez la préhistoire ? Vous voyez les temps modernes ? Vous voyez donc la différence entre SVN et Git. Je ne vais pas vous faire un cours sur Git ici, ce n&#8217;est pas le propos (et d&#8217;autres le font très bien dans le <a  href="http://www.progit.org">Pro Git book</a>). Mais une fois que vous aurez goûté à Git, vous trouverez SVN &laquo;&nbsp;so 2 thousand&nbsp;&raquo;. </p>
<p>Si vous utilisez encore SVN, ça ne peut être que parce que vous n&#8217;avez pas encore pris le temps d&#8217;apprendre à utiliser <a  href="http://en.wikipedia.org/wiki/Distributed_Concurrent_Versions_System">un système de gestion de code source décentralisé</a> (Git ou Mercurial par exemple). Un conseil : <strong>prenez ce temps</strong>, ça vous rendra bien des services.</p>
<h3>Github : mes amis les codeurs</h3>
<p>Comme je le laissais entrevoir habilement dans le titre de cet article, Github c&#8217;est un peu le Facebook des codeurs. Vous ne pouvez pas vraiment demander aux personnes d&#8217;être vos amis, mais vous pouvez suivre leur activité (un peu à la Twitter). Vous avez donc une page récapitulative qui vous permet de <strong>suivre l&#8217;activité des personnes</strong> ou des projets que vous souhaitez.</p>
<a  href="http://www.amicalement-web.net/wp-content/uploads/timeline_github.png"><img src="http://www.amicalement-web.net/wp-content/uploads/timeline_github.png" alt="Timeline Github" title="timeline_github" width="599" height="522" class="size-full wp-image-1394" /></a>
<p>Vous aurez aussi la possibilité de voir les projets que vos &laquo;&nbsp;amis&nbsp;&raquo; se mettent à suivre. Je n&#8217;ai jamais autant découvert de projets que depuis que j&#8217;utilise Github. Si vous souhaitez être au courant des dernières évolutions, des projets en vogue, Github est fait pour vous.</p>
<h3>La collaboration c&#8217;est bon, mangez en</h3>
<p>Puisque vous êtes sages et disciplinés, vous avez été lire le livre &laquo;&nbsp;Pro Git&nbsp;&raquo; et vous savez maintenant tout sur Git. </p>
<p>Github utilise pleinement les capacités de Git et va permettre de <strong>&laquo;&nbsp;forker&nbsp;&raquo;</strong> un projet via le site. En gros ça va vous créer une branche du projet dans votre compte. Vous pourrez faire des modifications dans votre branche et ensuite demander un &laquo;&nbsp;pull request&nbsp;&raquo; au responsable du projet : il verra vos modifications et pourra en un click les intégrer au projet principal. C&#8217;est du jamais vu ma bonne dame ! </p>
<p><strong>Tout le monde peut forker tous les projets et essayer de contribuer</strong> à la hauteur de ses compétences. Vous pouvez même commenter les lignes du code source directement sur le site, de manière à échanger avec les autres codeurs.</p>
<h3>La cerise sur le gâteau</h3>
<p>Je viens de vous dire que Git c&#8217;était l&#8217;avenir, que Github vous permettait de suivre et de découvrir plein de projets intéressants et qu&#8217;en plus il facilitait la collaboration entre les codeurs. Pour finir de vous convaincre, voici en vrac quelques petits &laquo;&nbsp;plus Periglioni&nbsp;&raquo; :</p>
<ul>
<li><strong>Import automatique d&#8217;un projet sous SVN</strong> avec conservation de l&#8217;historique des commits</li>
<li>Lecture et écriture possible via un <strong>client SVN</strong> sur les repos Github (alors si même avec ça vous passez pas à Git, je peux plus rien pour vous)</li>
<li>Possibilité de créer des <strong>projets privés</strong> (moyennant une modique somme)</li>
</ul>
<p>Alors, hop hop hop, on s&#8217;y met et plus vite que ça !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/twitter-et-facebook-sont-has-been-utilisez-github/2010/05/26/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Symfony Live 2010 : 2eme journée</title>
		<link>http://www.amicalement-web.net/symfony-live-2010-2eme-journee/2010/02/19/</link>
		<comments>http://www.amicalement-web.net/symfony-live-2010-2eme-journee/2010/02/19/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 10:00:15 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[profiling]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1237</guid>
		<description><![CDATA[Après une première journée, un peu éprouvante &#8211; levé 5h30, couché 2h &#8211; on est reparti au front, avec dans la ligne de mire la preview de Symfony 2. Forcément, ca motive. Matinée Okapi Bon, on avoue, on a un peu zappé cette conférence, histoire de gagner un peu plus de temps de sommeil pour [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/symfony-live-2010-2eme-journee/2010/02/19"><img src="http://www.amicalement-web.net/wp-content/uploads/estrade.jpg" alt="" title="estrade" width="614" height="100" class="alignnone size-full wp-image-1312" /></a> Après <a  href="/symfony-live-2010-1ere-journee/2010/02/17/">une première journée</a>, un peu éprouvante &#8211; levé 5h30, couché 2h &#8211; on est reparti au front, avec dans la ligne de mire la preview de Symfony 2. Forcément, ca motive.<br />
<span id="more-1237"></span></p>
<h3>Matinée</h3>
<h4>Okapi</h4>
<p>Bon, on avoue, on a un peu zappé cette conférence, histoire de gagner un peu plus de temps de sommeil pour tenir sur la durée, et en profiter pour mettre au propre le billet d&#8217;hier. On a juste retenu qu&#8217;ils utilisaient le <a  href="http://components.symfony-project.org/dependency-injection/">Dependency Injection Container</a> des components symfony.</p>
<p>Mais vous pouvez <a  href="http://www.slideshare.net/lsmith77/okapi-meet-symfony-symfony-meet-okapi">retrouver les slides</a>.</p>
<h4>Optimisation PHP</h4>
<p>Un tour complet à coup d&#8217;exemple de opcode, intéressant même si au final ce sont toujours les mêmes choses qui sont redites, très génériques. Je me tends à croire qu&#8217;un jour on aura un vrai cas concret dans ce genre d&#8217;intervention.</p>
<p>Et puis surtout, quand on utilise un framework, on a plus à gagner, <strong>à bien utiliser le framework</strong> qu&#8217;à optimiser une boucle. </p>
<p>Mais on a réussi à avoir quelques tips supplémentaires pendant la séance de questions :</p>
<ul>
<li>La pré incrémentation est plus rapide que la post incrémentation</li>
<li>Toujours privilégier la boucle while à une boucle for</li>
<li>Bannir les relations parent/enfant &#8211; L&#8217;enfant pointe sur le parent et inversement. Pas bon pour la mémoire</li>
</ul>
<p><a  href="http://www.slideshare.net/xdecock/php-performance-sflive-2010">Voir les slides</a><br />
Et pour aller plus loin dans le sujet, une <a  href="http://www.slideshare.net/fabianlange/full-stack-web-application-performance-tuning-presentation">ancienne présentation de Fabian Lange</a>.</p>
<h4>Git introduction</h4>
<p>Une des premières sessions Show Time, où Scott Chacon y est allé franco pour présenter Git, à une assistance majoritairement SVN.<br />
Une petite autopromo : rapidité, travail offline (sauf pull et push) et <strong>puissance du système de branches</strong> ont suffit à mettre le doute dans la tête de beaucoup, à ce qu&#8217;on pouvait lire sur twitter après coup.</p>
<p>Il a ensuite donné le lien d&#8217;une librairie pour <a  href="http://redotheoffice.com/?p=130">contrôler git depuis PHP (glib)</a> et a su répondre à la principale question:</p>
<dl>
<dt>Un équivalent de SVN externals?</dt>
<dd>Bien sûr, git uses submodules, mais il faut les mettre à jour à la main (donc 2 commandes au lieu d&#8217;une pour mettre à jour, ça reste raisonnable)</dd>
</dl>
<p><a  href="http://www.slideshare.net/chacon/git-101-presentation">Voir les slides</a></p>
<h4>Zend Framework</h4>
<p>Est arrivé, celui qui s&#8217;est présenté comme &laquo;&nbsp;N&#8217;est pas l&#8217;ennemi&nbsp;&raquo;, le lead developer du Zend Framework.<br />
Il a rappelé combien étaient nombreuses les librairies et composants développés et combien <strong>il était facile de les inclure dans symfony</strong>. Ca m&#8217;a d&#8217;ailleurs fait penser, que je ne regarde sans doute pas assez chez eux, quand j&#8217;ai besoin d&#8217;une librairie externe.</p>
<p><a  href="http://www.slideshare.net/weierophinney/using-zend-framework-with-symfony">Voir les slides</a><br />
Et Matthew a ensuite fait un debriefing son intervention <a  href="http://weierophinney.net/matthew/archives/232-Symfony-Live-2010.html">sur son blog</a>.</p>
<h3>Aprem</h3>
<h4>Implementing Symfony CMS</h4>
<p>La première touche hispanique de la conférence, qui nous a rappelé combien <strong>symfony était vraiment international</strong>. Marcos, nous a donc expliqué pourquoi avoir choisi symfony pour développer les CMS de leur client et l&#8217;approche qu&#8217;ils ont eu pour le réaliser.</p>
<p>Pas de gros scoop, ni d&#8217;exemple super concret mais une approche intéressante et surtout, t<strong>irée d&#8217;une vrai expérience dans le domaine</strong>.</p>
<p><a  href="http://www.slideshare.net/esmiz/implementing-a-symfony-based-cms-in-a-publishing-company">Voir les slides</a></p>
<h4>Event System</h4>
<p>Deuxième intervention de Dennis sur un des mécanismes sans doute le moins utilisé dans la panoplie Symfony, les events. Après avoir repris, ce qu&#8217;on peut trouver sur Symfony-Project, il a démontré pourquoi <strong>le couplage trop fort, c&#8217;était le mal </strong>- et donc <strong>les events le bien</strong> (ou le mal aussi, voir ci-dessous).</p>
<p>Un petit sondage fait sur twitter, a montré combien les possibilités étaient larges. Mais aussi qu&#8217;on pouvait en faire tout et n&#8217;importe quoi &#8211; Merci <a  href="http://twitter.com/ubermuda">ubermuda</a> pour la démonstration :p.<br />
Ce qui nous a valu l&#8217;expression &laquo;&nbsp;Events, No silver bullet!&nbsp;&raquo; &#8211; Entendre par là, que ce n&#8217;est pas la solution à tout.</p>
<p>En résumé, <strong>un event s&#8217;utilise pour du &laquo;&nbsp;couplage optionnel&nbsp;&raquo;</strong>, sinon ça revient à avoir un couplage fort également.</p>
<p>Des questions assez peu pertinentes dans l&#8217;ensemble, comme quoi, c&#8217;était pas clair pour tout le monde les events, la conf était donc nécessaire contrairement à ce qu&#8217;on pouvait lire sur twitter.</p>
<p><a  href="http://www.slideshare.net/denderello/symfony-live-2010-using-symfony-events-to-create-clean-class-interfaces">Voir les slides</a></p>
<h4>Symfony in the cloud</h4>
<p>Kris, de la core team, avec cette présentation aura remporté le prix des meilleurs transitions et de <strong>la slide la plus Hollywoodienne</strong>, avec une démo en temps réel de la création d&#8217;un nuage &#8211; musique de circonstance pour l&#8217;occasion &#8211; où il a réussi un tour de force en rajoutant un nuage en arrière plan de son nuage!<br />
Le public était conquis.</p>
<p>Plus sérieusement, il a pris comme support son site nebul.us, pour montrer comment <strong>interconnecter Symfony avec différents environnement à base de nuage</strong>, 3 serveurs Mysql &#8211; 1 Master, 2 Slaves &#8211; n apache, S3 pour le stockage.</p>
<p>De très belles démo de code pour bénéficier <strong>des nouvelles possibilités d&#8217;extension de Doctrine 1.2</strong> &#8211; à voir dans les slides &#8211; entre autres mais aussi d&#8217;<strong>utilisation de composant Zend</strong>.</p>
<p>L&#8217;effet démo ne l&#8217;aura au final pas épargné lui aussi, une tentative de release en direct de son plugin pour gérer les couples Master/Slave et un beau fail quand il est revenu sur la page d&#8217;accueil après qu&#8217;il se soit reloggué suite à l&#8217;expiration de sa session sur symfony-project :D</p>
<p>À noter que cette présentation aurait pu ne pas avoir lieu si <a  href="http://twitter.com/vjousse">Vince</a> n&#8217;avait pas sauvé la mise, en sortant un adaptateur dvi ancienne génération pour le prêter à Kris :p</p>
<p><a  href="http://www.slideshare.net/kriswallsmith/symfony-in-the-cloud">Voir les slides</a></p>
<h4>Debug Symfony</h4>
<p>Une vrai démonstration de l&#8217;approche à avoir pour <strong>vraiment optimiser son application</strong>. Plutôt que de se demander si echo sera plus rapide avec une virgule ou un point.</p>
<p>Il encourage de<strong> logguer en base</strong>, pour y avoir accès plus facilement et ajouter des notions de filtrage aisément et insiste sur<strong> les avantages du profiling</strong>, même s&#8217;il a oublié qu&#8217;<a  href="http://www.symfony-project.org/plugins/elXHProfPlugin">un plugin Symfony était dispo</a> pour ça .</p>
<p>On a pu noter les outils utilisés pour le benchmark et les metrics, <a  href="http://tsung.erlang-projects.org/">Tsung</a> et Graphite, que je ne connaissais pas. Toujours ça de bon à prendre aussi !</p>
<p>Une présentation très complète mais rien d&#8217;inédit que vous trouverez <a  href="http://www.slideshare.net/old_sound/debugging-and-profiling-symfony-apps">dans les slides</a>.</p>
<h4>Yahoooo</h4>
<p>Comme d&#8217;habitude, Dustin, membre de la core team, et Yahoo man est venu présenter un peu le boulot de Yahoo autour de symfony. Pourquoi symfony, leurs contributions, leurs modifications.<br />
Un petit tour des sites actuels développés sur le framework, avec un slide où on a pu apercevoir Shopgenie \o/ &#8211; la version anglaise de MonsieurPrix, développée par moi même ;) ca fait toujours plaisir!</p>
<p>Il a ensuite abordé le développement d&#8217;application web plus généralement et les bonnes questions à se poser concernant les choix à faire dans le design d&#8217;une architecture. Avec en guise de conclusion, une transition toute trouvée : &laquo;&nbsp;<strong>Symfony 2 is the right direction</strong>&nbsp;&raquo; !</p>
<p>On notera au passage un petit sondage de l&#8217;assistance sur les framework js, que<strong> jQuery a remporté</strong> avec une écrasante majorité.</p>
<p><a  href="http://www.slideshare.net/dustin.whittle/building-a-platform-from-open-source-at-yahoo-3209565">Voir les slides</a></p>
<h4>Symfony 2 preview</h4>
<p>Est arrivée, la présentation que tout le monde attendait, Symfony 2 ! Il faudrait un billet dédié à lui même, et on va beaucoup en parler dans les prochaines semaines, donc je vais pas m&#8217;attarder longtemps.</p>
<p>On peut retenir, que <strong>Symfony 2 sera orienté configuration</strong> &#8211; tout est configurable &#8211; et <strong>couplage faible</strong> avec un passage sur PHP 5.3. Il ne sera plus question également de développer des choses annexes, comme le logger ou le système de cache, mais d&#8217;<strong>utiliser des librairies reconnues</strong> pour ça (dont celles du Zend Framework justement).</p>
<p>Il a bien insisté sur le fait, que Symfony 2 pourra faire exactement les mêmes choses que la version 1, mais <strong>plus simplement et surtout plus rapidement</strong>. Avec par exemple, le lazy load &#8211; on charge seulement ce dont le framework a besoin.</p>
<p>Avec une conclusion &laquo;&nbsp;Faster as hell! &laquo;&nbsp;.</p>
<p>Bon il n&#8217;aura pas échappé à l&#8217;effet démo, avec une tentative de commit de la preview release en direct, qui s&#8217;est soldée également par un échec. Le compte Wifi de la Cité Universitaire était expiré ;-) Mais vous pouvez désormais récupérer le code source de cette première version et faire joujou avec sur <a  href="http://www.symfony-reloaded.org">le site dédié à Symfony 2</a> !</p>
<p><a  href="http://www.slideshare.net/fabpot/symfony-20-revealed">Voir les slides</a></p>
<p>Il ne restait plus qu&#8217;à faire le chemin inverse, Direction Marseille. En espérant avoir l&#8217;occasion de revenir ;)</p>
<p class="alignright">
<em>Vos envoyés spéciaux pour l&#8217;évènement: Vince et Tim</em>
</p>
<p style="clear: both">
<small>Crédit photo: http://www.flickr.com/photos/xavierbriand/4368850785/in/set-72157623335239339/</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/symfony-live-2010-2eme-journee/2010/02/19/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jouer avec Symfony2 sur github</title>
		<link>http://www.amicalement-web.net/jouer-avec-symfony-2-sur-github/2010/01/06/</link>
		<comments>http://www.amicalement-web.net/jouer-avec-symfony-2-sur-github/2010/01/06/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 07:59:44 +0000</pubDate>
		<dc:creator>Vince</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1111</guid>
		<description><![CDATA[Comme vous ne l&#8217;avez peut-être pas loupé si vous suiviez le trac symfony ou si vous suivez les bonnes personnes ( ;-) ) sur twitter, Symfony2 utilise maintenant Git comme gestionnaire de version et non plus Svn. Le code source a été déplacé sur github ici. Cela devrait permettre plus de participations externes (ça a [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/wp-content/uploads/entete_github.png"><img src="http://www.amicalement-web.net/wp-content/uploads/entete_github.png" alt="" title="entete_github" width="614" height="100" class="aligncenter size-full wp-image-1138" /></a></p>
<p>Comme vous ne l&#8217;avez peut-être pas loupé si vous suiviez le trac symfony ou si vous suivez les bonnes personnes ( ;-) ) sur twitter, Symfony2 utilise maintenant Git comme gestionnaire de version et non plus Svn. Le code source a été déplacé sur github <a  href="http://github.com/symfony/symfony">ici</a>. Cela devrait permettre plus de participations externes (ça a déjà commencé avec pborelli, CodingFabian et denderello), vu la facilité pour cloner un repository (le repository c&#8217;est l&#8217;endroit où sont stockées le sources à distance) avec git.<span id="more-1111"></span></p>
<p>Si comme moi, vous connaissez mal ou peu Git, vous pourrez commencer par lire le <a  href="http://learn.github.com/">&laquo;&nbsp;Learn GitHub&nbsp;&raquo;</a> qui pourra vous en apprendre un peu plus. Je vais essayer de vous donner les commandes de base pour récupérer en lecture seule ou en écriture le repository Symfony2<br />
<h3>Récupérer le code source</h3>
<p>
Le premier cas : vous souhaitez juste récupérer le code source pour jouer avec, sans le modifier. Dans ce cas, pas besoin de créer une branche du repository principal, récupérez le juste en lecture seule. Je pars ici du principe que vous êtes sur un *nix et que Git est installé, si vous n&#8217;avez pas installé Git allez le faire de ce pas, si vous êtes sous Windows je ne peux vous aider !
<p>
Rendez-vous sur <a  href="http://github.com/symfony/symfony">l&#8217;url du dépôt GitHub de Symfony2</a> et copiez l&#8217;url Read-Only qui devrait être : git://github.com/symfony/symfony.git
</p>
<p>
Vous pouvez ensuite récupérer les sources en local avec la commande</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">git</span> clone <span style="color: #c20cb9; font-weight: bold;">git</span>:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>symfony<span style="color: #000000; font-weight: bold;">/</span>symfony.git</pre></div></div>

<p>Vous aurez un beau répertoire symfony avec les sources.
</p>
<h3>Effectuer des changements</h3>
<p>Si vous voulez effectuer des changements comme un grand sur le code source de symfony, il vous faudra créer une branche. Vous devez être au préalable inscrit sur GitHub. Si vous vous rendez à <a  href="http://github.com/symfony/symfony">l&#8217;url du dépôt GitHub de Symfony2</a> vous devriez avoir quelque chose comme cela en haut : <a  href="http://www.amicalement-web.net/wp-content/uploads/github.png"><img src="http://www.amicalement-web.net/wp-content/uploads/github.png" alt="" title="github" width="300" height="42" class="aligncenter size-full wp-image-1123" /></a></p>
<p>
À la place de &laquo;&nbsp;Your fork&nbsp;&raquo; vous aurez la possibilité de forker. Je ne l&#8217;ai plus car j&#8217;ai déjà forké en fait ;-) Cela vous créera un repository dans votre compte GitHub auquel vous pourrez accéder comme précédemment, mais cette fois-ci en lecture/écriture. Juste l&#8217;url du repository devrait avoir changée, pour moi la commande c&#8217;est :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">git</span> clone <span style="color: #c20cb9; font-weight: bold;">git</span><span style="color: #000000; font-weight: bold;">@</span>github.com:vjousse<span style="color: #000000; font-weight: bold;">/</span>symfony.git</pre></div></div>

<p>N&#8217;oubliez pas d&#8217;avoir généré et envoyé votre clef publique sur GitHub avant, sinon vous aurez une belle erreur. Voilà, vous pouvez maintenant effectuer vos changements et les répercuter sur le serveur comme expliqué dans le  <a  href="http://learn.github.com/">&laquo;&nbsp;Learn GitHub&nbsp;&raquo;</a>.
</p>
<h3>Symfony2, un exemple de code</h3>
<p>Tout d&#8217;abord il va vous falloir PHP 5.3 d&#8217;installé, si ce n&#8217;est pas le cas n&#8217;allez pas plus loin ! Ensuite il va falloir vous faire aux namespaces PHP et ses \, mais ça ça viendra avec le temps ! Pour finir, allez faire un tour sur git pour recopier un <a  href="http://gist.github.com/296690">petit snippet d&#8217;ubermuda modifié par Fabien Potencier</a>. Je vous le recopie ici :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// change this with the actual path you cloned sf2 to</span>
<span style="color: #000088;">$sf2_path</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'~/symfony/src'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">use</span> Symfony\Foundation\ClassLoader<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> Symfony\Components\CLI\Application<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">require_once</span> <span style="color: #000088;">$sf2_path</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/Symfony/Foundation/ClassLoader.php'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$loader</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ClassLoader<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$loader</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">registerNamespace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Symfony'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$sf2_path</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$loader</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">register</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$app</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Application<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$app</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">run</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>On ne parle pour l&#8217;instant que du composant CLI de Symfony2 qui vient juste d&#8217;être ajouté, on ne manquera pas de vous tenir au courant du reste des évolutions par la suite. À vous de jouer !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/jouer-avec-symfony-2-sur-github/2010/01/06/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
