<?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>Anis Berejeb &#187; admin</title>
	<atom:link href="http://www.berejeb.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.berejeb.com</link>
	<description>Actualites et nouveautes du developpement web, PHP, MySQL, HTTP, JavaScript, Performance</description>
	<lastBuildDate>Sat, 17 Sep 2011 16:38:12 +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>Sortie de PHP 5.4 Beta</title>
		<link>http://www.berejeb.com/2011/09/sortie-de-php-5-4-beta/</link>
		<comments>http://www.berejeb.com/2011/09/sortie-de-php-5-4-beta/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 16:35:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php5.4]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1852</guid>
		<description><![CDATA[Un release Beta de PHP 5.4 vient de voir le jour. Tous etes invitees a tester afin de contribuer au reportings de bugs avant le prochain release. n&#8217;oubliez donc pas vos &#171;&#160;make test&#160;&#187; lors de la compilation. Quelques notes sur les ajouts : - arret du support de putenv() - le driver mysqlnd prend le [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.berejeb.com/wp-content/uploads/2010/07/php1.png"><img class="alignnone size-full wp-image-1526" title="php" src="http://www.berejeb.com/wp-content/uploads/2010/07/php1.png" alt="" width="220" height="220" /></a></p>
<p>Un release Beta de PHP 5.4 vient de voir le jour. Tous etes invitees a tester afin de contribuer au reportings de bugs avant le prochain release. n&#8217;oubliez donc pas vos &laquo;&nbsp;make test&nbsp;&raquo; lors de la compilation.</p>
<p>Quelques notes sur les ajouts :</p>
<p>- arret du support de putenv()</p>
<p>- le driver mysqlnd prend le defaut au lieu de mysql</p>
<p>- callable, un nouveau mot cle qui permet de passer des fonctions de rappel en argument d&#8217;une fonction.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Source : <a href="http://downloads.php.net/stas/">http://downloads.php.net/stas/</a><br />
Source Windows : <a href="http://windows.php.net/qa/">http://windows.php.net/qa/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2011/09/sortie-de-php-5-4-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment démarrer avec l&#8217;API PayPal</title>
		<link>http://www.berejeb.com/2011/09/comment-demarrer-avec-lapi-paypal/</link>
		<comments>http://www.berejeb.com/2011/09/comment-demarrer-avec-lapi-paypal/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 14:17:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[paypal]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1849</guid>
		<description><![CDATA[PayPal est la plateforme la plus populaire pour recevoir des paiements en ligne. La facilité d&#8217;ouverture d&#8217;un compte PayPal et recevoir des paiements par rapport à l&#8217;ouverture d&#8217;un compte marchand avec une passerelle de paiement traditionnels est probablement la raison numéro un pour sa popularité. L&#8217;API PayPal joue un role important aussi en fournissant un [...]]]></description>
			<content:encoded><![CDATA[<p><img title="paypal-api" src="http://www.devetdesign.com/wp-content/uploads/2011/09/paypal-api.png" alt="paypal-api" width="480" height="193" /><br />
PayPal est la plateforme la plus populaire pour recevoir des paiements en ligne. La facilité d&#8217;ouverture d&#8217;un compte PayPal et recevoir des paiements par rapport à l&#8217;ouverture d&#8217;un compte marchand avec une passerelle de paiement traditionnels est probablement la raison numéro un pour sa popularité. L&#8217;API PayPal joue un role important aussi en fournissant un service de paiement simple. <strong>SmashingMagazine</strong> a publié un article qui explique une <a title="Premiers pas avec l'API PayPal" href="http://coding.smashingmagazine.com/2011/09/05/getting-started-with-the-paypal-api/" target="_blank">mise en route avec l&#8217;API PayPal</a>. C&#8217;est un très bon début pour le développement de sites de commerce électronique ou des applications Web.</p>
<p>L&#8217;article explique les différentes méthodes de paiement, ainsi que la façon de faire, en utilisant l&#8217;API, pour communiquer avec ces services.</p>
<p>Consulter le tutoriel :  <a href="http://www.webappers.com/2011/09/08/how-to-get-started-with-the-paypal-api/">http://www.webappers.com/2011/09/08/how-to-get-started-with-the-paypal-api/</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2011/09/comment-demarrer-avec-lapi-paypal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP-OAuth2 : Un excellent client OAuth2 pour PHP5</title>
		<link>http://www.berejeb.com/2011/09/php-oauth2-un-excellent-client-oauth2-pour-php5/</link>
		<comments>http://www.berejeb.com/2011/09/php-oauth2-un-excellent-client-oauth2-pour-php5/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 14:34:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WEB]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook php]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[oauth2]]></category>
		<category><![CDATA[php facebook client]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[php5 oauth2 client]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1838</guid>
		<description><![CDATA[Dernièrement, j&#8217;ai contribué a un projet Open source PHP-OAuth2, qui fournit un client OAuth2 pour PHP5. Le projet est initié et développé par Pierrick Charron et est disponible sur GitHub. Le client permet de se connecter et de consommer n&#8217;importe quelle API qui supporte le protocole OAuth2. Dans ce post, nous allons voir comment installer, utiliser et étendre cet outil pour des [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.berejeb.com/wp-content/uploads/2011/09/php-oauth2.png"><img class="alignnone size-full wp-image-1842" title="php-oauth2" src="http://www.berejeb.com/wp-content/uploads/2011/09/php-oauth2.png" alt="" width="250" height="250" /></a></p>
<p>Dernièrement, j&#8217;ai contribué a un projet Open source <a href="https://github.com/adoy/PHP-OAuth2">PHP-OAuth2</a>, qui fournit un client OAuth2 pour PHP5. Le projet est initié et développé par <a href="https://github.com/adoy">Pierrick Charron</a> et est disponible sur <a href="https://github.com/adoy/PHP-OAuth2">GitHub</a>. Le client permet de se connecter et de consommer n&#8217;importe quelle API qui supporte <a href="http://oauth.net/2/">le protocole OAuth2</a>. Dans ce post, nous allons voir comment installer, utiliser et étendre cet outil pour des besoins spécifiques.</p>
<h2>Installation</h2>
<p>L&#8217;installation est simple. Il suffit en fait de récupérer le script via Git :</p>
<pre>git clone git://github.com/adoy/PHP-OAuth2.git</pre>
<h2>Utilisation</h2>
<p>Pour utiliser le client, assurez vous tout d&#8217;abord que le client est accessible depuis votre code (include, include_path, autoload etc.). Par la suite, vous devez definir 5 constantes :</p>
<ul>
<li>CLIENT_ID : votre identifiant client.</li>
<li>CLIENT_SECRET : votre cle secrete.</li>
</ul>
<p>vous récupérez ces deux valeurs depuis le serveur OAuth2 (Facebook Apps par exemple)</p>
<ul>
<li>REDIRECT_URI : l&#8217;url de redirection de votre application.</li>
<li>AUTHORIZATION_ENDPOINT : L&#8217;url du service d&#8217;autorisation</li>
<li>TOKEN_ENDPOINT : L&#8217;url du service de recuperation des jetons d&#8217;acces.</li>
</ul>
<div>Voici un exemple :</div>
<pre>require('client.php');

const CLIENT_ID     = 'your client id';
const CLIENT_SECRET = 'your client secret';

const REDIRECT_URI           = '<a href="http://url/of/this.php">http://url/of/this.php</a>';
const AUTHORIZATION_ENDPOINT = '<a href="https://graph.facebook.com/oauth/authorize">https://graph.facebook.com/oauth/authorize</a>';
const TOKEN_ENDPOINT         = '<a href="https://graph.facebook.com/oauth/access_token">https://graph.facebook.com/oauth/access_token</a>';

$client = new OAuth2\Client(CLIENT_ID, CLIENT_SECRET);
if (!isset($_GET['code']))
{
    $auth_url = $client-&gt;getAuthenticationUrl(AUTHORIZATION_ENDPOINT, REDIRECT_URI);
    header('Location: ' . $auth_url);
    die('Redirect');
}
else
{
    $params = array('code' =&gt; $_GET['code'], 'redirect_uri' =&gt; REDIRECT_URI);
    $response = $client-&gt;getAccessToken(TOKEN_ENDPOINT, 'authorization_code', $params);
    parse_str($response['result'], $info);
    $client-&gt;setAccessToken($info['access_token']);
    $response = $client-&gt;fetch('<a href="https://graph.facebook.com/me">https://graph.facebook.com/me</a>');
    var_dump($response, $response['result']);
}</pre>
<h2>Explication</h2>
<p>On instancie tout d&#8217;abord le client en lui passant l&#8217;identification du client ainsi que la cle secrète. Il y a deux cas a gérer par la suite:</p>
<ol>
<li>En accédant au script (sans spécifier de code dans l&#8217;url), on récupère l&#8217;url d&#8217;authentification via la méthode <em><strong>getAuthenticationUrl</strong><strong>()</strong></em>, et on redirige l&#8217;utilisateur vers cette addresse (Dans notre exemple, c&#8217;est l&#8217;adresse d&#8217;authentification de l&#8217;utilisateur sur Facebook).</li>
<li>Une fois l&#8217;utilisateur authentifié, le serveur le redirige vers notre script en lui fournissant un code d’accès. Dans ce cas, en récupérant le code depuis $_GET, nous allons récupérer un jeton d’accès depuis le service de récupération de jetons. Ceci est effectué via la méthode<strong style="font-style: italic;"> getAccessToken()</strong>.</li>
<li>Une fois le jeton d’accès récupéré, il est alors possible de consommer l&#8217;api via la méthode<strong style="font-style: italic;"> fetch()</strong>.</li>
</ol>
<p>Assez simple non?</p>
<h2>Comment je peux définir des nouveaux types d’accès ?</h2>
<p>Si vous utilisez l&#8217;API de Facebook, vous n&#8217;avez probablement pas besoin d&#8217;utiliser ce genre d’opérations. Dans le cas ou vous connectez a un autre service, il est possible que ce dernier vous offre des modes d’accès personnalisés. Il est alors possible d’étendre le client OAuth2 pour supporter ces appels. Il suffit d’écrire alors une nouvelle classe pour ce faire. Voici un exemple :</p>
<pre>namespace OAuth2\GrantType;

/**
 * MyCustomGrantType Grant Type
 */
class MyCustomGrantType implements IGrantType
{
    /**
     * Defines the Grant Type
     *
     * @var string  Defaults to 'my_custom_grant_type'.
     */
    const GRANT_TYPE = 'my_custom_grant_type';

    /**
     * Adds a specific Handling of the parameters
     *
     * @return array of Specific parameters to be sent.
     * @param  mixed  $parameters the parameters array (passed by reference)
     */
    public function validateParameters(&amp;$parameters)
    {
        if (!isset($parameters['first_mandatory_parameter']))
        {
            throw new \Exception('The \'first_mandatory_parameter\' parameter must be defined for the Password grant type');
        }
        elseif (!isset($parameters['second_mandatory_parameter']))
        {
            throw new \Exception('The \'seconde_mandatory_parameter\' parameter must be defined for the Password grant type');
        }
    }
}</pre>
<p>Vous pouvez alors utiliser la méthode getAccessToken en lui spécifiant le nouveau type d’accès :</p>
<pre>$response = $client-&gt;getAccessToken(TOKEN_ENDPOINT, 'my_custom_grant_type', $params);</pre>
<p>Si vous avez des questions ou des commentaires sur l&#8217;utilisation du script ou par rapport au protocole OAuth2, n&#8217;hesitez pas!</p>
<ul>
<li><strong>Téléchargement</strong> : git clone git://github.com/adoy/PHP-OAuth2.git</li>
<li><strong>Documentation</strong> : <a href="https://github.com/adoy/PHP-OAuth2">https://github.com/adoy/PHP-OAuth2</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2011/09/php-oauth2-un-excellent-client-oauth2-pour-php5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP2yUML : Générez vos diagrammes yuml.me directement depuis vos sources PHP5</title>
		<link>http://www.berejeb.com/2011/09/php2yuml-generez-vos-diagrammes-yuml-me-directement-depuis-vos-source-php5/</link>
		<comments>http://www.berejeb.com/2011/09/php2yuml-generez-vos-diagrammes-yuml-me-directement-depuis-vos-source-php5/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 13:00:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DIVERS]]></category>
		<category><![CDATA[php reverse engineer code]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[uml]]></category>
		<category><![CDATA[yuml]]></category>
		<category><![CDATA[yuml.me]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1831</guid>
		<description><![CDATA[PHP2yUML est un Script CLI Open source qui reverse-engineere votre code PHP5 et génère un diagramme de classe YUML.me. Puisque le script est au niveau de la ligne de commande, il peut facilement être utilisé au niveau des outils d&#8217;integration continue pour générer de la documentation automatique de vos projets. PHP2yUML supporte les notions de Classes, Interfaces, visibilite des propriétés et méthodes, heritage et dépendances. Installation L&#8217;installation est simple [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.berejeb.com/wp-content/uploads/2011/09/php2yuml.png"><img class="alignnone size-full wp-image-1835" title="php2yuml" src="http://www.berejeb.com/wp-content/uploads/2011/09/php2yuml.png" alt="" width="250" height="250" /></a></p>
<p><em><strong><a href="http://bachkoutou.github.com/php2yuml/">PHP2yUML</a></strong></em> est un Script CLI Open source qui reverse-engineere votre code PHP5 et génère un diagramme de classe <a href="http://yuml.me/diagram/class/samples">YUML.me</a>. Puisque le script est au niveau de la ligne de commande, il peut facilement être utilisé au niveau des outils d&#8217;integration continue pour générer de la documentation automatique de vos projets.</p>
<p><em><strong>PHP2yUML</strong></em> supporte les notions de Classes, Interfaces, visibilite des propriétés et méthodes, heritage et dépendances.</p>
<h2>Installation</h2>
<p>L&#8217;installation est simple via git :</p>
<p>git clone git://github.com/bachkoutou/php2yuml.git</p>
<h2> Utilisation de base</h2>
<p>Il suffit se spécifier au script un répertoire source avec l&#8217;option -f, ainsi qu&#8217;un fichier image de destination. voici un exemple :</p>
<pre>php php2yuml.php -f test -o diagram.png</pre>
<h2>Documentation détaillée et exemples d&#8217;utilisation</h2>
<p>Pour des exemples plus complets, couvrant les options de yuml.me, l&#8217;autoload de vos classes etc, vous pouvez accéder a la page Github Du projet : <a href="http://bachkoutou.github.com/php2yuml/">http://bachkoutou.github.com/php2yuml/</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2011/09/php2yuml-generez-vos-diagrammes-yuml-me-directement-depuis-vos-source-php5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bootstrap : un Toolkit CSS/HTML directement de chez Twitter!</title>
		<link>http://www.berejeb.com/2011/09/twitter-bootstrap-css-html/</link>
		<comments>http://www.berejeb.com/2011/09/twitter-bootstrap-css-html/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 16:32:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[DIVERS]]></category>
		<category><![CDATA[WEB]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[lesscss]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1825</guid>
		<description><![CDATA[Si vous utilisez twitter sur iPhone, vous vous serez peut etre rendus compte que leur application web (si vous visitez twitter via votre navigateur web) est assez fluide. Eh bien, les gens chez twitter ont release en Open source le code qu&#8217;ils utilisent pour cette application : Bootstrap. Bootstrap est un ensemble d&#8217;outils front-end pour [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.berejeb.com/wp-content/uploads/2011/09/bootstrap-twitter.png"><img class="alignnone size-full wp-image-1826" title="bootstrap-twitter" src="http://www.berejeb.com/wp-content/uploads/2011/09/bootstrap-twitter.png" alt="" width="500" /></a></p>
<p>Si vous utilisez twitter sur iPhone, vous vous serez peut etre rendus compte que leur application web (si vous visitez twitter via votre navigateur web) est assez fluide. Eh bien, les gens chez twitter ont release en Open source le code qu&#8217;ils utilisent pour cette application : Bootstrap. Bootstrap est un ensemble d&#8217;outils front-end pour vos applications web. C&#8217;est une collection de styles CSS et de conventions HTML. Le &laquo;&nbsp;framework&nbsp;&raquo; couvre la typographie, les formulaires, les boutons, les tables et grilles, la navigation etc. La taille est relativement petite (6k avec gzip).</p>
<p><a href="http://github.com/twitter/bootstrap" target="_blank">Bootstrap est hébergé sur  Github</a> il utilise aussi <a href="http://lesscss.org">LessCSS</a> qui est un pre-processeur qui offre plus de flexibilite au code CSS (declarations imbriquees, variables, fonctions etc.).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2011/09/twitter-bootstrap-css-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPFarm : Installez plusieurs versions de PHP en Parallèle</title>
		<link>http://www.berejeb.com/2011/09/phpfarm-install-plusieurs-versions-php-en-parallel/</link>
		<comments>http://www.berejeb.com/2011/09/phpfarm-install-plusieurs-versions-php-en-parallel/#comments</comments>
		<pubDate>Sat, 03 Sep 2011 10:34:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php install]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1823</guid>
		<description><![CDATA[&#160; &#160; Pour ceux qui ne desirent pas compiler a la main leurs versions de PHP en parallèle, et qui veulent tester leur codes sur plusieurs versions (incluant des sous versions) de PHP, phpfarm est la pour les aider. L&#8217;installation est tres simple, via Git : $ git clone git://git.code.sf.net/p/phpfarm/code phpfarm Il suffit d&#8217;executer la commander suivante [...]]]></description>
			<content:encoded><![CDATA[<div><a href="http://www.berejeb.com/wp-content/uploads/2010/07/php1.png"><img class="alignnone size-full wp-image-1526" title="php" src="http://www.berejeb.com/wp-content/uploads/2010/07/php1.png" alt="" width="200" height="200" /></a></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Pour ceux qui ne desirent pas compiler a la main leurs versions de PHP en parallèle, et qui veulent tester leur codes sur plusieurs versions (incluant des sous versions) de PHP, <a href="https://sourceforge.net/p/phpfarm">phpfarm</a> est la pour les aider.</p>
<p>L&#8217;installation est tres simple, via Git :</p>
<pre>$ git clone git://git.code.sf.net/p/phpfarm/code phpfarm</pre>
<p>Il suffit d&#8217;executer la commander suivante par la suite, pour changer/installer votre version courante de PHP :</p>
<pre>$ cd phpfarm/src/
$ ./compile.sh 5.3.8
$ ../inst/bin/php-5.3.8 --version
PHP 5.3.8 (cli) (built: Sep 03 2011 00:05:23) (DEBUG)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies</pre>
<ul>
<li>Le repository Git :  <a href="https://sourceforge.net/p/phpfarm/code/">git repository</a></li>
<li>Le Wiki : <a href="https://sourceforge.net/p/phpfarm/wiki/">wiki</a></li>
<li>Le systeme de tickets <a href="https://sourceforge.net/p/phpfarm/tickets/">ticketing system</a>.</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2011/09/phpfarm-install-plusieurs-versions-php-en-parallel/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>elephpant Origami : L&#8217;elePHPant au format papier !</title>
		<link>http://www.berejeb.com/2011/08/elephpant-origami-lelephpant-au-format-papier/</link>
		<comments>http://www.berejeb.com/2011/08/elephpant-origami-lelephpant-au-format-papier/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 15:10:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[elephpant]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1817</guid>
		<description><![CDATA[&#160; &#160; Un plan de realisation, une feuille de marquage, 45 minutes de votre temps, 37 etapes a effectuer. C&#8217;est tout ce qu&#8217;il vous faut pour realiser votre propre ElePHPant de Papier!  El Roubio presente un post tres cool  avec un Fichier PDF qui contient les maquettes ainsi qu&#8217;une Video Youtube qui presente les etapes [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.berejeb.com/wp-content/uploads/2011/08/elePHPant-origami-Guide-download.jpg"><img class="alignnone size-full wp-image-1819" title="elePHPant-origami-Guide-download" src="http://www.berejeb.com/wp-content/uploads/2011/08/elePHPant-origami-Guide-download.jpg" alt="" width="458" height="382" /></a></p>
<p>Un plan de realisation, une feuille de marquage, 45 minutes de votre temps, 37 etapes a effectuer. C&#8217;est tout ce qu&#8217;il vous faut pour realiser votre propre ElePHPant de Papier!  El Roubio presente un post tres cool  avec un Fichier PDF qui contient les maquettes ainsi qu&#8217;une Video Youtube qui presente les etapes de realisation. A chacun sont elePHPant!</p>
<ul>
<li>Le Post : <a href="http://www.elroubio.net/2011/08/elephpant-origami-php-paper-addict/">http://www.elroubio.net/2011/08/elephpant-origami-php-paper-addict/</a></li>
<li>Le fichier  <a href="http://www.elroubio.net/commun/elePHPant-Origami-130811.pdf">http://www.elroubio.net/commun/elePHPant-Origami-130811.pdf</a></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2011/08/elephpant-origami-lelephpant-au-format-papier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DevetDesign.com : Un portail de nouvelles du developpement web</title>
		<link>http://www.berejeb.com/2011/08/devetdesign-com-un-portail-de-nouvelles-du-developpement-web/</link>
		<comments>http://www.berejeb.com/2011/08/devetdesign-com-un-portail-de-nouvelles-du-developpement-web/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 18:42:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DIVERS]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1810</guid>
		<description><![CDATA[DevetDesign.com est un portail de nouvelles qui portent essentiellement sur le developpement et le design web. Dev et design est une aggregation des actualites, outils, tutoriaux et applications qui font leur apparitions sur la toile. Que vous soyez developpeur, integrateur ou designer d interfaces, vous y trouverez vos ressources preferees! &#160;]]></description>
			<content:encoded><![CDATA[<p><a href="http://devetdesign.com"><img class="alignnone size-full wp-image-1812" title="devetdesign" src="http://www.berejeb.com/wp-content/uploads/2011/08/devetdesign1.png" alt="" width="372" height="372" /></a></p>
<p>DevetDesign.com est un portail de nouvelles qui portent essentiellement sur le developpement et le design web. Dev et design est une aggregation des actualites, outils, tutoriaux et applications qui font leur apparitions sur la toile. Que vous soyez developpeur, integrateur ou designer d interfaces, vous y trouverez vos ressources preferees!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2011/08/devetdesign-com-un-portail-de-nouvelles-du-developpement-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fonctionnalites dans PHP 5.4 (alpha release)</title>
		<link>http://www.berejeb.com/2011/08/fonctionnalites-dans-php-5-4-alpha-release/</link>
		<comments>http://www.berejeb.com/2011/08/fonctionnalites-dans-php-5-4-alpha-release/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 13:29:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php5.4]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1797</guid>
		<description><![CDATA[Voici quelques fonctionnalités que la version 5.4 Alpha1 de PHP offre. Ajouts Array Deferencing La fonctionnalité &#171;&#160;Array Deferencing&#160;&#187; désigne le chainage des accès aux indices d&#8217;un tableau PHP. Un peu de la même façon qu&#8217;il est possible de faire un class Foo { public function bar() { } } function func() { return new Foo(); [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.berejeb.com/wp-content/uploads/2011/08/traits.png"><img class="alignnone size-full wp-image-1805" title="traits" src="http://www.berejeb.com/wp-content/uploads/2011/08/traits.png" alt="" width="380" height="321" /></a></p>
<p>Voici quelques fonctionnalités que la version<a href="http://www.php.net/archive/2011.php#id2011-06-28-1"> 5.4 Alpha1</a> de PHP offre.</p>
<h2>Ajouts</h2>
<h3>Array Deferencing</h3>
<p>La fonctionnalité &laquo;&nbsp;Array Deferencing&nbsp;&raquo; désigne le chainage des accès aux indices d&#8217;un tableau PHP. Un peu de la même façon qu&#8217;il est possible de faire un</p>
<pre>    class Foo {
        public function bar() { }
    }

    function func() {
        return new Foo();
    }

    func()-&gt;bar();</pre>
<p>Cette fonctionnalité a été rejetée dans le passe a cause d&#8217;incertitudes concernant les &laquo;&nbsp;memory leaks&nbsp;&raquo;. Maintenant, après un patch récemment ajouté, il est possible de faire</p>
<pre>function foo() {
return array(1, 2, 3);
}
echo foo()[2]; // affiche 3</pre>
<p>L’utilité d&#8217;une telle fonctionnalité est plus visible avec les closures :</p>
<pre>$func = function() { return array('a', 'b', 'c'); };
echo $func()[0]; // affiche a</pre>
<h3>Les Traits</h3>
<p>C&#8217;est une manière de réutiliser le code. Puisque PHP est un langage a héritage Simple, un trait est une manière de réduire certaines limites de l&#8217;héritage simple en autorisant le développeur à réutiliser un certain nombre de méthodes dans des classes indépendantes.<br />
Un trait est semblable à une classe, mais il ne sert qu&#8217;à grouper des fonctionnalités d&#8217;une manière intéressante. C&#8217;est un ajout à l&#8217;héritage traditionnel qui autorise la composition horizontale de comportements, c&#8217;est à dire l&#8217;utilisation de méthodes de classe sans besoin d&#8217;héritage.<br />
Imaginons ce cas :</p>
<pre> class ezcReflectionMethod extends ReflectionMethod {
   /* ... */
   function getReturnType() { /*1*/ }
   function getReturnDescription() { /*2*/ }
   /* ... */
 }

 class ezcReflectionFunction extends ReflectionFunction {
   /* ... */
   function getReturnType() { /*1*/ }
   function getReturnDescription() { /*2*/ }
   /* ... */
 }</pre>
<p>Vous remarquez que les deux méthodes getReturnType et getReturnDescription sont réécrites du fait qu&#8217;il n&#8217;y a pas de support d’héritage Multiple. Avec les traits, on peut faire comme suit :</p>
<pre> trait ezcReflectionReturnInfo {
   function getReturnType() { /*1*/ }
   function getReturnDescription() { /*2*/ }
 }

 class ezcReflectionMethod extends ReflectionMethod {
   use ezcReflectionReturnInfo;
   /* ... */
 }

 class ezcReflectionFunction extends ReflectionFunction {
   use ezcReflectionReturnInfo;
   /* ... */
 }</pre>
<p>Pour plus d&#8217;informations sur les traits : <a href="http://www.php.net/manual/fr/language.oop5.traits.php" target="_blank">http://www.php.net/manual/fr/language.oop5.traits.php</a></p>
<h3>Support de $this dans les Closures</h3>
<p>Dans les versions de PHP inférieures a 5.4, il n’était pas possible de se référer au scope d&#8217;une classe depuis une closure. Ceci est rendu possible, le mot clé $this peut être maintenant utilise a l’intérieur d&#8217;une closure pour référer les propriétés d&#8217;une classe. Exemple:</p>
<pre>class A {
  private $value = 1;
  function single_getter($name) {
    return function() use ($name) {
      return $this-&gt;$name;
    };
  }
}
class B {
  private $value = 2;
  function test() {
    $a = new A;
    $single_getter = $a-&gt;single_getter('value');
    print $single_getter();
  }
} 

$b = new B;
$b-&gt;test();
//affiche 1</pre>
<p><a href="http://drupal4hu.com/node/291">http://drupal4hu.com</a> présente un tutoriel plus en détail sur cette fonctionnalité.</p>
<h3>Appel de methode indirect depuis un array</h3>
<p>Cette fonctionnalité permet d&#8217;utiliser un array pour effectuer un callback. Le tableau doit être  composé de deux éléments, le premier comme nom d&#8217;une classe, le deuxième comme nom de méthode. Exemple :</p>
<pre>class Hello {
   public function world($x) {
      echo "Hello, $x\n"; return $this;
   }
}

$f = array('Hello','world');
var_dump($f('you')); // Hello, you</pre>
<h3>Ajout de http_response_code()</h3>
<p>Il est possible de récupérer ou de changer le code de la réponse http avec cette méthode :</p>
<pre>// Récupère le code courant de la réponse
var_dump(http_response_code()); // int(200)

// Change le code de la réponse
http_response_code(404);

// Récupère notre nouveau code de réponse
var_dump(http_response_code()); // int(404)</pre>
<h3>Ajout de header_register_callback()</h3>
<p>Cette fonction enregistre une fonction de callback qui sera appelée lorsque PHP ait préparé les en-têtes à envoyer, et avant qu&#8217;il ne les envoie. Ce qui permet une manipulation fine des en-têtes avant leur envoi.<br />
Exemple :</p>
<pre>header('Content-Type: text/plain');
header('X-Test: foo');

function foo() {
 foreach (headers_list() as $header) {
   if (strpos($header, 'X-Powered') !== false) {
     header_remove('X-Powered-By');
   }
   header_remove('X-Test');
 }
}

$result = header_register_callback('foo');
echo "a";</pre>
<h3>Syntaxe &lt;?=</h3>
<p>Cette syntaxe est désormais possible indépendamment de l&#8217;option short_tags. A méditer&#8230;</p>
<h2>Suppressions</h2>
<h3>Options ini: register_globals, allow_call_time_pass_reference, et register_long_arrays</h3>
<p>Toutes ces options étant dépréciées en PHP 5.3, ils sont supprimes dans 5.4.</p>
<h3>Support des magic quotes</h3>
<p>Les magic_quotes ne sont plus supportées depuis cette version de PHP.</p>
<h3>Fonctions : session_is_registered(), session_register(), et session_unregister()</h3>
<p>Ces fonctions sont aussi dépréciées dans PHP 5.3. Utilisez plutôt $_SESSION a la place.</p>
<h3>Syntaxe break/continue $var</h3>
<p>Ceci n&#8217;est désormais plus possible en PHP 5.4</p>
<pre>for($i = 0; $i &lt; 3; $i++)
{
    for($j = 0; $j &lt; 3; $j++)
    {
        if($i == 1)
            break 2;
        echo "$i:$j\n";
    }
}

//output
0:0
0:1
0:2</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2011/08/fonctionnalites-dans-php-5-4-alpha-release/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Videola = drupal + video management + e-commerce</title>
		<link>http://www.berejeb.com/2011/07/videola-drupal-video-management-e-commerce/</link>
		<comments>http://www.berejeb.com/2011/07/videola-drupal-video-management-e-commerce/#comments</comments>
		<pubDate>Sun, 10 Jul 2011 14:54:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.berejeb.com/?p=1793</guid>
		<description><![CDATA[Videola, est une plate-forme de gestion de vidéos open source montée sur drupal. Videola vous permet de développer un portail de vidéos complet, incluant: une gestion de contenu (incluant les vidéos) (drupal) du commerce électronique une solution de streaming des plans d&#8217;inscription personnalisés. uns support des téléphones intelligents (iOS, Android etc.) Vous pouvez aussi créer [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.videola.tv/" target="_blank"><img class="alignnone size-full wp-image-1794" title="videola" src="http://www.berejeb.com/wp-content/uploads/2011/07/videola.png" alt="" width="519" height="352" /></a></p>
<p><a href="http://www.videola.tv/" target="_blank"><strong>Videola</strong></a>, est une plate-forme de gestion de vidéos open source montée sur drupal. Videola vous permet de développer un portail de vidéos complet, incluant:</p>
<ul>
<li>une gestion de contenu (incluant les vidéos) (drupal)</li>
<li>du commerce électronique</li>
<li>une solution de streaming</li>
<li>des plans d&#8217;inscription personnalisés.</li>
<li>uns support des téléphones intelligents (iOS, Android etc.)</li>
</ul>
<p>Vous pouvez aussi créer des contenus payants ou protégées, ou les vidéos ne seront affichées qu&#8217;aux utilisateurs inscrits a un plan défini par l&#8217;administrateur du site. La plate-forme vous permet aussi de faire la publicité pour ces vidéos protégées en affichant des images ou des vidéos de preview.</p>
<p>Éventuellement, les vidéos sont taguées et catégorisées et le support des vidéos populaires ou similaires est la.</p>
<ul>
<li>Demonstration : http://drupalize.me/</li>
<li>Telechargement : https://github.com/Lullabot/videola</li>
<li>Solution hosted : http://www.videola.tv/hosted.html</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.berejeb.com/2011/07/videola-drupal-video-management-e-commerce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

