<?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>Gerald&#039;s Blog</title>
	<atom:link href="http://www.croes.org/gerald/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.croes.org/gerald/blog</link>
	<description>PHP &#38; Technologies de l&#039;Information</description>
	<lastBuildDate>Mon, 20 Feb 2012 06:23:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Recrutement de deux développeurs PHP</title>
		<link>http://www.croes.org/gerald/blog/recrutement-de-deux-developpeurs-php/789/</link>
		<comments>http://www.croes.org/gerald/blog/recrutement-de-deux-developpeurs-php/789/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 16:30:46 +0000</pubDate>
		<dc:creator>gerald</dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://www.croes.org/gerald/blog/?p=789</guid>
		<description><![CDATA[Ma société recherche deux développeurs PHP afin de renforcer une équipe actuellement composée de 2 chefs de projets et 6 développeurs. Le premier poste à pourvoir propose de travailler de façon privilégiée avec une filiale de ma société, acteur sur le marché de l’assurance. Il sera amené à travailler sur toutes les problématiques de la [...]]]></description>
		<wfw:commentRss>http://www.croes.org/gerald/blog/recrutement-de-deux-developpeurs-php/789/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Présentation Git sur Lyon</title>
		<link>http://www.croes.org/gerald/blog/presentation-git-sur-lyon/774/</link>
		<comments>http://www.croes.org/gerald/blog/presentation-git-sur-lyon/774/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 09:46:21 +0000</pubDate>
		<dc:creator>gerald</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Atelier]]></category>
		<category><![CDATA[Conférence]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://www.croes.org/gerald/blog/?p=774</guid>
		<description><![CDATA[EDIT : Les inscriptions sont fermées. Nous organisons une présentation de Git avec comme intervenant Sébastien Douche, le 20 février 2012 à 14h, jusqu&#8217;au soir 21h. Cette présentation, gratuite, est ouverte au public. Le nombre de places est limité (environs 30 personnes), les premiers inscrits seront les premiers servis. La présentation aura lieu dans les [...]]]></description>
		<wfw:commentRss>http://www.croes.org/gerald/blog/presentation-git-sur-lyon/774/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Le Design Pattern Annuaire de services (Service Locator) en PHP</title>
		<link>http://www.croes.org/gerald/blog/le-design-pattern-annuaire-de-services-service-locator-en-php/675/</link>
		<comments>http://www.croes.org/gerald/blog/le-design-pattern-annuaire-de-services-service-locator-en-php/675/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 08:00:58 +0000</pubDate>
		<dc:creator>gerald</dc:creator>
				<category><![CDATA[Design Pattern]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Couplage faible]]></category>
		<category><![CDATA[Découplage]]></category>
		<category><![CDATA[Inversion de Contrôle]]></category>
		<category><![CDATA[IoC]]></category>
		<category><![CDATA[Service Locator]]></category>

		<guid isPermaLink="false">http://www.croes.org/gerald/blog/?p=675</guid>
		<description><![CDATA[Le <a href="http://www.croes.org/gerald/blog/category/design-pattern/">motif de conception</a> <em>Service Locator</em> fait parti des patterns qui promulguent le principe d'inversion de contrôle, aussi connu sous le nom du "principe d'Hollywood" (Ne nous appelez pas, on vous rappellera).

Le <em>Service Locator</em> est un composant (souvent réalisé sous la forme d'un <a href="http://www.croes.org/gerald/blog/les-registres-registry-en-php/361/">Registre</a>) configuré pour distribuer des services aux autres objets.

Ce que l'on cherche à éviter est qu'un objet A ait besoin d'instancier lui même un objet B pour remplir son contrat en tant qu'objet A.

J'avoue n'avoir jamais rencontré de traduction française pour ce modèle de conception, je prendrais donc la liberté de le dénommer "Annuaire de services" qui me semble à propos.

Pour notre exemple, nous allons réaliser une classe de Log sans et avec ce principe.
]]></description>
		<wfw:commentRss>http://www.croes.org/gerald/blog/le-design-pattern-annuaire-de-services-service-locator-en-php/675/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Le Design Pattern Monteur (Builder) en PHP</title>
		<link>http://www.croes.org/gerald/blog/le-design-pattern-monteur-builder-en-php/687/</link>
		<comments>http://www.croes.org/gerald/blog/le-design-pattern-monteur-builder-en-php/687/#comments</comments>
		<pubDate>Sat, 13 Aug 2011 12:46:39 +0000</pubDate>
		<dc:creator>gerald</dc:creator>
				<category><![CDATA[Design Pattern]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Builder]]></category>
		<category><![CDATA[Monteur]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://www.croes.org/gerald/blog/?p=687</guid>
		<description><![CDATA[<p>Le monteur (builder) est <a href="http://www.croes.org/gerald/blog/category/design-pattern/">un modèle de conception</a> souvent mal compris, confondu avec d'autres patterns de type construction.</p>

<p>L'objectif du monteur est de séparer le processus de construction de l'objet de sa représentation finale. En d'autres termes, cela signifie que le processus de construction est identique mais que le produit finit peut varier.</p>
]]></description>
		<wfw:commentRss>http://www.croes.org/gerald/blog/le-design-pattern-monteur-builder-en-php/687/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Git, un modèle de branches efficace (2/2)</title>
		<link>http://www.croes.org/gerald/blog/git-modele-de-branche-efficace/649/</link>
		<comments>http://www.croes.org/gerald/blog/git-modele-de-branche-efficace/649/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 10:40:17 +0000</pubDate>
		<dc:creator>gerald</dc:creator>
				<category><![CDATA[En pratique]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://www.croes.org/gerald/blog/?p=649</guid>
		<description><![CDATA[La gestion des branches dans Subversion ou CVS n&#8217;est pas suffisamment simple et rapide pour encourager les développeurs à s&#8217;y frotter, voire les en dissuade : &#171;&#160;Quoi ? Une branche ? Non, trop compliqué de gérer les conflits&#8230; on reste dans le trunk&#160;&#187; Partant de ce constat, tous les développeurs restent dans &#171;&#160;le trunk&#160;&#187;, avec [...]]]></description>
		<wfw:commentRss>http://www.croes.org/gerald/blog/git-modele-de-branche-efficace/649/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Introduction à GIT (1/2)</title>
		<link>http://www.croes.org/gerald/blog/introduction-a-git-12/607/</link>
		<comments>http://www.croes.org/gerald/blog/introduction-a-git-12/607/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 10:39:50 +0000</pubDate>
		<dc:creator>gerald</dc:creator>
				<category><![CDATA[En pratique]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://www.croes.org/gerald/blog/?p=607</guid>
		<description><![CDATA[Migrer de SVN (ou CVS) vers Git ne se suffit pas en soit pour profiter de ce qui fait de Git... Git.

Git connait un succès grandissant pour <a href="http://whygitisbetterthanx.com/">de nombreuses raisons</a>, dont : 
<ul>
<li>La possibilité de travailler hors ligne</li>
<li>L'extrême facilité et rapidité avec laquelle il est possible de gérer des branches</li>
<li>Sa rapidité</li>
</ul>

Nous allons ici nous concentrer sur le système de branches et proposer un modèle "prêt à l'emplois", largement inspiré de <a href="http://nvie.com/posts/a-successful-git-branching-model/">A successul Git branch model</a>.]]></description>
		<wfw:commentRss>http://www.croes.org/gerald/blog/introduction-a-git-12/607/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Testez votre code avec atoum</title>
		<link>http://www.croes.org/gerald/blog/testez-votre-code-avec-atoum/558/</link>
		<comments>http://www.croes.org/gerald/blog/testez-votre-code-avec-atoum/558/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 13:57:16 +0000</pubDate>
		<dc:creator>gerald</dc:creator>
				<category><![CDATA[En pratique]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Atoum]]></category>
		<category><![CDATA[Singleton]]></category>
		<category><![CDATA[Tests]]></category>
		<category><![CDATA[Tests Unitaires]]></category>

		<guid isPermaLink="false">http://www.croes.org/gerald/blog/?p=558</guid>
		<description><![CDATA[Le monde des Frameworks de <a href="http://fr.wikipedia.org/wiki/Test_unitaire">tests unitaires</a> en PHP est un micro-système bien gardé ou seuls deux représentants cohabitaient jusqu'alors : <a href="http://www.simpletest.org">SimpleTest</a> et le standard <a href="http://www.phpunit.de/">PHPUnit</a>

<del datetime="2011-08-02T06:46:13+00:00">Aujourd'hui, il faut aussi</del> Bientôt il faudra aussi compter avec <a href="https://github.com/mageekguy/atoum">Atoum</a>, un framework de tests unitaires qui tire pleinement partie des possibilités de <a href="http://www.php.net/manual/fr/migration53.new-features.php">PHP 5.3</a> tels les <a href="http://www.php.net/manual/fr/language.namespaces.php">namespaces</a> et les <a href="http://www.php.net/manual/fr/functions.anonymous.php">closures</a>.

Ainsi, si vous lancez un nouveau projet basé sur PHP 5.3+, il me semble opportun que lors du choix de votre framework de tests unitaires vous ayez une bonne idée de ce qu'est Atoum.]]></description>
		<wfw:commentRss>http://www.croes.org/gerald/blog/testez-votre-code-avec-atoum/558/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Synchroniser son fork GITHub avec le projet original</title>
		<link>http://www.croes.org/gerald/blog/synchroniser-son-fork-github-avec-le-projet-original/551/</link>
		<comments>http://www.croes.org/gerald/blog/synchroniser-son-fork-github-avec-le-projet-original/551/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 11:43:04 +0000</pubDate>
		<dc:creator>gerald</dc:creator>
				<category><![CDATA[En pratique]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>

		<guid isPermaLink="false">http://www.croes.org/gerald/blog/?p=551</guid>
		<description><![CDATA[Forker un projet <a href="https://github.com">github</a> est une tâche tellement simple qu'elle est encouragée pour permettre à tous de contribuer.

Seulement, entre le moment ou vous proposez votre premier patch et le moment ou vous souhaitez proposer le second, vous aurez probablement besoin de resynchroniser votre fork avec le projet d'origine (pour inclure dans votre fork les évolutions du projet d'origine).]]></description>
		<wfw:commentRss>http://www.croes.org/gerald/blog/synchroniser-son-fork-github-avec-le-projet-original/551/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ecrire un client REST en PHP (2/3)</title>
		<link>http://www.croes.org/gerald/blog/ecrire-un-client-rest-en-php-23/490/</link>
		<comments>http://www.croes.org/gerald/blog/ecrire-un-client-rest-en-php-23/490/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 06:46:45 +0000</pubDate>
		<dc:creator>gerald</dc:creator>
				<category><![CDATA[En pratique]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[RESTful]]></category>

		<guid isPermaLink="false">http://www.croes.org/gerald/blog/?p=490</guid>
		<description><![CDATA[Suite à la <a href="http://www.croes.org/gerald/blog/qu-est-ce-que-rest/447/">présentation des architectures RESTful</a> nous allons voir comment nous pouvons consommer des services web de type REST en PHP.

Appeler un service REST en PHP est une tâche extrêmement simple car nous disposons de tous les outils pour effectuer un appel HTTP, en particulier grâce aux <a href="http://www.php.net/manual/fr/book.stream.php">flux</a>.
]]></description>
		<wfw:commentRss>http://www.croes.org/gerald/blog/ecrire-un-client-rest-en-php-23/490/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Qu&#8217;est-ce que REST ? (1/3)</title>
		<link>http://www.croes.org/gerald/blog/qu-est-ce-que-rest/447/</link>
		<comments>http://www.croes.org/gerald/blog/qu-est-ce-que-rest/447/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 07:14:40 +0000</pubDate>
		<dc:creator>gerald</dc:creator>
				<category><![CDATA[En pratique]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[Théorie]]></category>
		<category><![CDATA[Webservice]]></category>

		<guid isPermaLink="false">http://www.croes.org/gerald/blog/?p=447</guid>
		<description><![CDATA[REST (Representational State Transfer) est l'un de ces acronymes qui représente une non technologie comme peuvent l'être Ajax, DHTML, Web 2.0 et autres.

REST est un style d'architecture qui repose sur le protocole HTTP : On accède à une ressource (par son URI unique) pour procéder à diverses opérations (GET lecture / POST écriture / PUT modification / DELETE suppression), opérations supportées nativement par HTTP.

Dans cette série d'articles nous allons effectuer quelques rappels sur REST, écrire un client REST, puis écrire un serveur REST sans utiliser ni framework ni bibliothèque tierce, simplement en profitant des fonctionnalités natives du langage PHP.
]]></description>
		<wfw:commentRss>http://www.croes.org/gerald/blog/qu-est-ce-que-rest/447/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

