<?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>Ao6-Labs.eu</title>
	<atom:link href="http://www.ao6-labs.eu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ao6-labs.eu</link>
	<description>Techniquement votre</description>
	<lastBuildDate>Wed, 23 Jul 2014 12:01:05 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.3.20</generator>
	<item>
		<title>Github : Génération et installation de vos clés SSH</title>
		<link>http://www.ao6-labs.eu/2013/03/17/github-generation-et-installation-de-vos-cles-ssh/</link>
				<comments>http://www.ao6-labs.eu/2013/03/17/github-generation-et-installation-de-vos-cles-ssh/#respond</comments>
				<pubDate>Sun, 17 Mar 2013 14:17:08 +0000</pubDate>
		<dc:creator><![CDATA[AoSiX]]></dc:creator>
				<category><![CDATA[Admin système]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.ao6-labs.eu/?p=278</guid>
				<description><![CDATA[Pour faire suite à l&#8217;installation d&#8217;un poste de dev PHP complet sur Ubuntu 12.10, nous allons voir comment ajouter des clés SSH sur github. Avec github, vous avez la possibilité de faire vos clones via SSH, et pour ce faire il vous fait mettre en place vos clés SSH. Voici comment faire : Génération de&#8230; <a href="http://www.ao6-labs.eu/2013/03/17/github-generation-et-installation-de-vos-cles-ssh/">Lire l'article <span class="meta-nav">&#8594;</span></a>]]></description>
								<content:encoded><![CDATA[<p>Pour faire suite à <a title="Mise en place d’un poste de dev PHP complet sur Ubuntu 12.10" href="http://www.ao6-labs.eu/2013/03/17/mise-en-place-dun-poste-de-dev-php-complet-sur-ubuntu-12-10/">l&rsquo;installation d&rsquo;un poste de dev PHP complet sur Ubuntu 12.10</a>, nous allons voir comment ajouter des clés SSH sur github.</p>
<p>Avec github, vous avez la possibilité de faire vos clones via SSH, et pour ce faire il vous fait mettre en place vos clés SSH. Voici comment faire :</p>
<p><span id="more-278"></span></p>
<h1>Génération de clés SSH</h1>
<p>Voici la commande à entrer pour générer vos clés :</p>
<pre class="brush: bash; title: ; notranslate">ssh-keygen -t rsa -C &quot;votre@email.com&quot;</pre>
<p>Deux questions vous seront posées :<br />
1) Le chemin pour enregistrer vos clés, je vous recommande de laisser le chemin par défaut<br />
2) Un passphrase : il s&rsquo;agit d&rsquo;un mot de passe qui vous sera demandé dès que votre clé sera utilisée. Vous pouvez le laisser vide si vous le désirez.</p>
<h1>Ajout de votre clé sur github</h1>
<p>Nous allons commencer par install xclip, qui nous permettra d&rsquo;envoyer le contenu de la clé SSH directement dans notre presse papier.</p>
<pre class="brush: bash; title: ; notranslate">sudo apt-get install xclip</pre>
<p>Nous pouvons maintenant faire la copie :</p>
<pre class="brush: bash; title: ; notranslate">xclip -sel clip &lt; ~/.ssh/id_rsa.pub</pre>
<p>Allez maintenant sur la <a href="https://github.com/settings/ssh">page de gestion des clés ssh de github</a>, connectez vous si ce n&rsquo;est déjà le cas, puis cliquez sur <strong>Add SSH Key</strong>.<br />
Dans le champ <em>Title</em>, mettez un nom pour votre machine afin de la reconnaître, et collez dans le champ <em>Key</em> le contenu de votre clé.</p>
<p>Validez. Github vous demandera de valider l&rsquo;opération en entrant <strong>votre mot de passe github</strong> (pas le passphrase de la clé).</p>
<h1>Testons si cela fonctionne</h1>
<p>Pour testez ci cela fonctionne, tapez la commande :</p>
<pre class="brush: bash; title: ; notranslate">ssh -T git@github.com</pre>
<p>Repondez yes à la question qui vous demande si vous souhaitez continuer. Après, vous devriez voir un message du genre :</p>
<pre class="brush: plain; title: ; notranslate">Hi VotrePseudoGithub! You've successfully authenticated, but GitHub does not provide shell access.</pre>
]]></content:encoded>
							<wfw:commentRss>http://www.ao6-labs.eu/2013/03/17/github-generation-et-installation-de-vos-cles-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Mise en place d&#8217;un poste de dev PHP complet sur Ubuntu 12.10</title>
		<link>http://www.ao6-labs.eu/2013/03/17/mise-en-place-dun-poste-de-dev-php-complet-sur-ubuntu-12-10/</link>
				<comments>http://www.ao6-labs.eu/2013/03/17/mise-en-place-dun-poste-de-dev-php-complet-sur-ubuntu-12-10/#comments</comments>
				<pubDate>Sun, 17 Mar 2013 01:07:56 +0000</pubDate>
		<dc:creator><![CDATA[AoSiX]]></dc:creator>
				<category><![CDATA[Admin système]]></category>
		<category><![CDATA[Developpement]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[composer]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[git-flow]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[oh-my-zsh]]></category>
		<category><![CDATA[php5.4]]></category>
		<category><![CDATA[phpcs]]></category>
		<category><![CDATA[phpcs-fixer]]></category>
		<category><![CDATA[phpunit]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[zsh]]></category>

		<guid isPermaLink="false">http://www.ao6-labs.eu/?p=251</guid>
				<description><![CDATA[ATTENTION. CE POST DATE DE 2013 EST N&#8217;EST PROBABLEMENT PLUS A JOUR. Dans cet article, nous détaillerons la mise en place d&#8217;un environnement de développement PHP professionnel complet. Au programme : Le shell Zsh &#38; Oh My Zsh Git &#38; Git flow Serveur Web : Apache2, PHP5, MySQL Outils du dév PHP : Composer +&#8230; <a href="http://www.ao6-labs.eu/2013/03/17/mise-en-place-dun-poste-de-dev-php-complet-sur-ubuntu-12-10/">Lire l'article <span class="meta-nav">&#8594;</span></a>]]></description>
								<content:encoded><![CDATA[<p>ATTENTION. CE POST DATE DE 2013 EST N&rsquo;EST PROBABLEMENT PLUS A JOUR.</p>
<p>Dans cet article, nous détaillerons la mise en place d&rsquo;un environnement de développement PHP professionnel complet. Au programme :</p>
<ul>
<li>Le shell Zsh &amp; Oh My Zsh</li>
<li>Git &amp; Git flow</li>
<li>Serveur Web : Apache2, PHP5, MySQL</li>
<li>Outils du dév PHP : Composer + outil de qualité du code</li>
</ul>
<p>Vous êtes prêt ? On démarre !</p>
<p><span id="more-251"></span></p>
<h1>Mettre à jour son poste</h1>
<p>La première étape consiste simplement à mettre à jour son poste. Pour cela, utilisez la commande suivante :</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">sudo apt-get update &amp;&amp; sudo apt-get upgrade</code></pre>
</div>
<h1>Installation de Zsh et de Oh My Zsh</h1>
<p>Par défaut, vous devriez avoir un shell de type Bash sur Ubuntu. Zsh est un shell alternatif, qui à mon sens vous simplifie la vie en tant qu&rsquo;utilisateur. Il permet par exemple de changer de dossier sans avoir à taper la commande cd à chaque fois, la complétion est très intuitive et configurable, il propose une correction orthographique s&rsquo;il ne connaît pas la commande que vous souhaitez exécuter&#8230; regardons la procédure, et gardez en tête que votre shell sera actif lors du prochain redémarrage ( à la fin de cette partie donc ).</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">sudo apt-get install zsh</code></pre>
</div>
<p>Nous allons également installer Oh My Zsh, qui est un « framework » alimenté par la communauté, qui permet de configurer  facilement votre terminal zsh, en lui ajoutant des thèmes et des plugins qui sont mis à votre disposition.</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">sudo apt-get install git</code></pre>
</div>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh
chsh -s `which zsh`
sudo shutdown -r 0</code></pre>
</div>
<p>Pour configurez Oh My Zsh, éditez le fichier ~/.zshrc (<code>nano ~/.zshrc</code>), vous pouvez regarder les parties, mais je pense que celles qui vont intéressent sûrement le plus sont les suivantes :</p>
<p>&#8211; <strong>ZSH_THEME= »xxxx » :</strong> C&rsquo;est ici que vous choisissez votre thème Oh My Zsh. Vous trouverez une liste de thème à l&rsquo;url suivante : <a title="https://github.com/robbyrussell/oh-my-zsh/wiki/themes" href="https://github.com/robbyrussell/oh-my-zsh/wiki/themes" target="_blank">https://github.com/robbyrussell/oh-my-zsh/wiki/themes</a><br />
&#8211; <strong>plugins=(xxx) :</strong> Ce sont les plugins que vous souhaitez charger. Une liste est disponible à l&rsquo;URL suivante : <a title="https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins" href="https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins" target="_blank">https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins</a> ; Cependant elle n&rsquo;est pas complète. La plupart des plugins y sont et vous y trouverez la documentation qui va avec. La liste complète est accéssible  via la commande suivante : <code>ls ~/.oh-my-zsh/plugins/</code></p>
<p>Voici ma liste de plugin : plugins=(git git-flow composer debian laravel). J&rsquo;utilise le thème par défaut.</p>
<p>Dernière étape: rebootez votre machine <code>sudo reboot</code></p>
<h1>Configurer git &amp; installation de git flow</h1>
<p>Git a déjà été installer précédemment. Nous allons cependant le configure. Pour cela, utilisez les commandes suivantes (les dernières lignes sont à personnaliser, bien entendu) :</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
git config --global user.name &quot;Votre nom&quot;
git config --global user.email moi@email.com</code></pre>
</div>
<p>Nous allons maintenant installer git-flow. Git flow est une extension pour git qui vous permet de gérer le fameux <a href="http://nvie.com/git-model" target="_blank">modèle de branche</a> de Vincent Driessen. Vous remarquerez l&rsquo;utilisation de <code>ai</code>, qui est un alias fournit par le plugin debian de Oh My Zsh.</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">ai git-flow</code></pre>
</div>
<p>Voilà, vous avez un terminal au top, il est beau il est parfait <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h1>Notre serveur web : apache2, php5.4 &amp; MySQL</h1>
<p>Nous n &lsquo;allons par faire dans l&rsquo;extravagant, pour cette fois ci, nous allons installer les paquets de bases fournit par Ubuntu 12.10.</p>
<h2>Apache2</h2>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">ai apache2</code></pre>
</div>
<p>Normalement, en vous rendant sur <a href="http://localhost/" target="_blank">http://localhost/</a> après cela, vous devriez voir la page <em><strong>it works</strong></em></p>
<h2>PHP5.4 : le minimum vital</h2>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">ai libapache2-mod-php5 php5</code></pre>
</div>
<p>Maintenant, réedémarrons Apache2 ( il me semble que c&rsquo;est fait tout seul&#8230; mais dans le doute, faisons le )</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">sudo service apache2 restart</code></pre>
</div>
<p>Testons maintenant si cela fonctionne, en créant un fichier <em><strong>phpinfo.php</strong></em></p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">sudo nano /var/www/phpinfo.php</code></pre>
</div>
<p>Et à l&rsquo;intérieur de ce fichier, plaçons un simple phpinfo() :</p>
<div class="wp-cc wp-cc-php">
<pre><code data-language="php">&lt;?php phpinfo();</code></pre>
</div>
<p>En vous rendant sur <a href="http://localhost/phpinfo.php" target="_blank">http://localhost/phpinfo.php</a>, vous devriez voir votre phpinfo.</p>
<h3>Installons + d&rsquo;extensions</h3>
<p>Selon vos besoin, vous pourriez vouloir installer plus d&rsquo;extension à PHP. Mes packages de base sont les suivants :</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">ai php5-mcrypt php5-sqlite php5-intl php5-gd php5-curl php5-cli php5-intl php-pear php5-xsl</code></pre>
</div>
<p>Notez que php-pear et php5-xsl sont nécessaire pour la suite de ce guide.</p>
<h2>MySQL</h2>
<p>Installons MySQL, ainsi que son package pour php :</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">ai mysql-server php5-mysql</code></pre>
</div>
<p>Durant l&rsquo;installation, un mot de passe root vous sera demandé. Je ne vous dis quoi mettre, je suis sur que vous saurez le faire au moins aussi bien que moi <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Une fois l&rsquo;installation terminée, testez si votre base de donnée fonctionne en lançant la commande <code>mysql -u root -p</code>. Ne mettez rien derrière le -p, le terminal vous demandera alors d&rsquo;écrire le mot de passe de manière sécurisé et invisible.</p>
<p>Vous tombez dans un prompt MySQL ? Très bien, cela fonctionne. Quittez le avec la commande <code>exit</code>. Si vous souhaitez avoir un client graphique pour MySQL, vous pouvez installer le paquet phpmyadmin (<code>ai phpmyadmin</code>), ou télécharger <a href="http://www.mysql.fr/products/workbench/" target="_blank">MySQL Workbench</a> par exemple.</p>
<h2>Tweak</h2>
<p>Pour plus de facilité lors du développement, nous allons indiquer à Apache2 de se lancer en tant que vous. Ainsi, il n&rsquo;y aura aucun problème de droits. Commençons par éditer le fichier /etc/apache2/envvars.</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">sudo nano /etc/apache2/envvars</code></pre>
</div>
<p>Trouvez la ligne avec APACHE_RUN_USER et APACHE_RUN_GROUP, puis affectez leur votre login linux :</p>
<pre><code>export APACHE_RUN_USER=VotreLogin
export APACHE_RUN_GROUP=VotreLogin</code></pre>
<p>Redémarrons Apache2&#8230;</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">sudo service apache2 restart</code></pre>
</div>
<p>&#8230; puis changeons les droits de du dossier /var/www et de ses fichiers :</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">sudo chown -R VotreLogin:VotreLogin /var/www</code></pre>
</div>
<p>Voilà, vous avez un serveur web totalement fonctionnel.</p>
<h1>Installer Composer + les outils de qualité de code PHP</h1>
<h2>Composer</h2>
<p>Je ne vous présenterez par composer ici, je vous invite à lire mon article sur le sujet à l&rsquo;adresse suivante : <a title="Composer : installation et utilisation" href="http://www.ao6-labs.eu/2012/08/18/composer-installation-et-utilisation/" target="_blank">Composer : installation et utilisation</a>. Nous allons par contre revoir la phase d&rsquo;installation :</p>
<p>Nous devons d&rsquo;abord installer cUrl :</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">ai curl</code></pre>
</div>
<p>Ensuite, installons composer de manière globale. C&rsquo;est à dire, plutôt que d&rsquo;avoir un fichier composer.phar par projet, nous aurons un fichier composer pour tout le système :</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod a+x /usr/local/bin/composer</code></pre>
</div>
<p>Composer est maintenant disponible en tapant simplement : <code>composer</code>. Testez sa bonne installation avec la commande composer &#8211;version</p>
<h2>PHP Quality Tools &amp; phpDox:</h2>
<p>Nous allons installer une liste d&rsquo;outil qui permettent de s&rsquo;assurer de la qualité de notre code, notamment PHPUnit, PHP Mess Detector, PHP Code Style&#8230;</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">pear config-set auto_discover 1
sudo pear install pear.phpqatools.org/phpqatools
sudo pear install pear.netpirates.net/phpDox-0.4.0</code></pre>
</div>
<h2>PHP Check Style Fixer:</h2>
<p>php-cs-fixer est un outil permettant de remettre à une norme de codage un fichier php ( voir un projet complet ). Voici comment l&rsquo;installer :</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">curl http://cs.sensiolabs.org/get/php-cs-fixer.phar -o /usr/local/bin/php-cs-fixer
chmod a+x /usr/local/bin/php-cs-fixer</code></pre>
</div>
<h1>C&rsquo;est tout, pour le moment</h1>
<p>Je m&rsquo;arrête pour ce guide déjà bien chargé, je pense revenir le compléter avec un autre billet plus tard, pour l&rsquo;installation de Jenkins, un serveur d&rsquo;intégration continue, l&rsquo;installation de mon éditeur favori : sublime text&#8230; et d&rsquo;autres choses peut-être ? N&rsquo;hésitez pas à me faire des demandes.</p>
<p>Voir également :</p>
<ul>
<li><a title="Github : Génération et installation de vos clés SSH" href="http://www.ao6-labs.eu/2013/03/17/github-generation-et-installation-de-vos-cles-ssh/">Github : Génération et installation de vos clés SSH</a></li>
</ul>
]]></content:encoded>
							<wfw:commentRss>http://www.ao6-labs.eu/2013/03/17/mise-en-place-dun-poste-de-dev-php-complet-sur-ubuntu-12-10/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
							</item>
		<item>
		<title>Composer : installation et utilisation</title>
		<link>http://www.ao6-labs.eu/2012/08/18/composer-installation-et-utilisation/</link>
				<comments>http://www.ao6-labs.eu/2012/08/18/composer-installation-et-utilisation/#respond</comments>
				<pubDate>Sat, 18 Aug 2012 13:33:35 +0000</pubDate>
		<dc:creator><![CDATA[AoSiX]]></dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[composer]]></category>
		<category><![CDATA[mongodb-odm]]></category>
		<category><![CDATA[monolog]]></category>
		<category><![CDATA[packagist]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ao6-labs.eu/?p=213</guid>
				<description><![CDATA[Nous allons voir dans cet article comment installer et utiliser composer, l&#8217;outil de gestion de dépendances PHP. Pour commencer, il y a deux sites à connaitre : http://getcomposer.org/ : Le site officiel de composer, avec le guide d&#8217;installation officiel, la doc&#8230; http://packagist.org/ : Le site ou vous retrouverez tous les packages. Voilà ce que nous allons faire&#8230; <a href="http://www.ao6-labs.eu/2012/08/18/composer-installation-et-utilisation/">Lire l'article <span class="meta-nav">&#8594;</span></a>]]></description>
								<content:encoded><![CDATA[<p>Nous allons voir dans cet article comment installer et utiliser composer, l&rsquo;outil de gestion de dépendances PHP.</p>
<p>Pour commencer, il y a deux sites à connaitre :</p>
<ul>
<li><a href="http://getcomposer.org/" target="_blank">http://getcomposer.org/</a> : Le site officiel de composer, avec le guide d&rsquo;installation officiel, la doc&#8230;</li>
<li><a href="http://packagist.org/" target="_blank">http://packagist.org/</a> : Le site ou vous retrouverez tous les packages.</li>
</ul>
<p>Voilà ce que nous allons faire durant ce tutoriel :</p>
<ol>
<li><a href="http://www.ao6-labs.eu/?p=213#install">Installer composer de manière globale sur sa machine</a></li>
<li><a href="http://www.ao6-labs.eu/?p=213#premier-projet">Créer notre premier composer.json</a></li>
<li><a href="http://www.ao6-labs.eu/?p=213#utiliser_paquet">Utiliser l&rsquo; autoloader de composer</a></li>
</ol>
<p>Ready ? Let&rsquo;s go !<br />
<span id="more-213"></span></p>
<h1 id="install">1. Installation de composer</h1>
<p>L&rsquo;installation de composer se faire de manière assez simple, il suffit de télécharger l&rsquo;installer et de l’exécuter avec php :</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">curl -s http://getcomposer.org/installer | php</code></pre>
</div>
<p>Et voilà. Vous venez de télécharger composer.phar, qui est un exécutable php ( si si ça existe ). Si vous ouvrez de fichier avec votre editeur de texte, vous verrez qu&rsquo;il n&rsquo;est pas fait pour être lu par l&rsquo;humain <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Dans le cas present, nous avons fait une installation en locale dans le projet en cours. Je vais maintenant vous donner une astuce afin d&rsquo;installer globalement composer, afin qu&rsquo;il soit disponible partout ! Le manip&rsquo; est simple : nous allons l&rsquo;ajouter dans un endroit présent dans le $PATH. Le meilleur endroit pour un sytème GNU/Linux est /usr/local/bin</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">sudo mv composer.phar /usr/local/bin/composer</code></pre>
</div>
<p>Maintenant, plutôt que d&rsquo;utiliser les commandes <em>php composer.phar</em>, vous pouvez écrire simplement <em>composer</em></p>
<h1 id="premier-projet">2. Notre premier projet avec composer</h1>
<h2>&#8211; Comment ça marche</h2>
<p>Nous allons maintenant créer notre premier projet avec composer. Pour faire simple, ce projet sera une simple page, qui écrit des logs, et pour cela, nous souhaitons utiliser le package monolog ( <a href="https://github.com/Seldaek/monolog">https://github.com/Seldaek/monolog</a> ). Mais pour aller plus loin dans la démo, nous allons également utiliser le package mongodb-odm de doctrine. Pourquoi ? Il a plein de dépendance, donc ça illustrera parfaitement cet article.</p>
<p>Comment marche Composer ? Vous insérez vos dépendances dans le fichier composer.json. ensuite vous exécuter <em>composer install</em>. Ce dernier va télécharger tout ce dont il a besoin pour que vos packages soient télécharger et fonctionnels. Cela veut dire qu&rsquo;il va aussi télécharger des packages que vous n&rsquo;avez pas demandé, mais qui sont nécessaire à l’exécution d&rsquo;un package que vous avez demander.</p>
<p>Il crée alors un fichier <em>composer.lock</em>, qui contient les informations de l&rsquo;ensemble des packages installés. Ce fichier se met à jour automatique, et ne dois jamais être modifier manuellement.</p>
<p>Vous pouvez mettre à jour vos package avec la commande <em>composer update</em>, qui va alors fetcher les dernières mises à jour disponibles, tout ne respectant les dépendances.</p>
<p>Un des autres intérêt de composer, est qu&rsquo;il permet de gérer les versions des dépendances. Rendons nous par exemple sur la page packagist du framework Symfony 2: <a href="http://packagist.org/packages/symfony/framework-standard-edition">http://packagist.org/packages/symfony/framework-standard-edition</a></p>
<p>Vous remarquerez qu&rsquo;il existe un certain nombre de versions disponibles. Et pour chaque version, vous pouvez voir les dépendances ( noté <strong>Requires</strong> ), et les versions de ces dernières. L&rsquo;avantage de ce système, c&rsquo;est la garanti d&rsquo;avoir un environnement de travail avec des dépendances compatibles entre elles.</p>
<h2>&#8211; Notre premier composer.json</h2>
<p>Il est temps pour nous d&rsquo;écrire notre premier composer.json . Il va de soit, que le contenu de ce fichier sera en fait un json ( un objet en notation javascript ). Pour rappel, nous allons utiliser les packages monolog et doctrine mongodb.</p>
<p>Après une petit recherche sur le site de packagist, on tombe sur monolog ici : <a title="http://packagist.org/packages/doctrine/mongodb" href="http://packagist.org/packages/doctrine/mongodb">http://packagist.org/packages/monolog/monolog</a> , et mongodb de doctrine ici : <a title="http://packagist.org/packages/doctrine/mongodb-odm" href="http://packagist.org/packages/doctrine/mongodb-odm">http://packagist.org/packages/doctrine/mongodb</a>.</p>
<p>Nous allons prendre les versions dev-master de monolog et de mongodb-odm. Voilà notre fichier composer.json :</p>
<div class="wp-cc wp-cc-javascript">
<pre><code data-language="javascript">{
    &quot;require&quot;: {
        &quot;monolog/monolog&quot;: &quot;dev-master&quot;,
        &quot;doctrine/mongodb-odm&quot;: &quot;dev-master&quot;
    },
    &quot;minimum-stability&quot;: &quot;dev&quot;
}</code></pre>
</div>
<p>Une petite particularité, étant donné que nous utilisons des packages en développement, nous devons ajouter « minimum-stability »: « dev » , qui dit à composer : tu peux prendre des dépendances qui sont en développement. Vous êtes prêt ? Alors vous pouvez lancer votre installation :</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">composer install # ou alors php composer.phar install si vous ne l&#039;avez pas installer globalement</code></pre>
</div>
<p>Et voilà, composer va contrôler si vous avez tout ce qu&rsquo;il vous faut, puis télécharger les packages. Voilà ma sortie au jour d&rsquo;aujourd&rsquo;hui :</p>
<div class="wp-cc wp-cc-shell">
<pre><code data-language="shell">aosix@aosix-VirtualBox /var/www/composerDemo $ composer install
Installing dependencies
  - Installing monolog/monolog (dev-master)
    Cloning ae31045917db536eedee8c6b6abed5052d115763

  - Installing doctrine/common (dev-master)
    Cloning 329d90ab8d6ed4c0b422d631caa5594c77c12055

  - Installing symfony/console (dev-master)
    Cloning 3b66f1056f5ac37146d3b755964e8a43a205f2f5

  - Installing symfony/yaml (dev-master)
    Cloning 6b3eb66a7c4495dcaa35a64dd93c8ba8c29f35d8

  - Installing doctrine/mongodb (dev-master)
    Cloning fdf44d850d7482b2cea7a0793d46999641c68e4f

  - Installing doctrine/mongodb-odm (dev-master)
    Cloning 70521c1c654ef6a42a7e88ed9bb98f9d3fe9fc0c

monolog/monolog suggests installing mlehner/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
Writing lock file
Generating autoload files</code></pre>
</div>
<p>On voit là qu&rsquo;à partir de mes deux pacquets initiaux, composer à télécharger les dépendances nécéssaires, notamment pour le package mongodb-odm.</p>
<p>Maintenant, vous avez dans votre dossier un nouveau dossier appelé vendor, avec à l’intérieur, les différents packages télécharger. On y trouve également un fichier autoload.php, qui va nous permettre de charger super facilement nos classes. Nous allons l&rsquo;exploiter dès maintenant.</p>
<h1 id="utiliser_paquet">Utilisation des packages téléchargés</h1>
<p>Nous allons finalement utilisé les packages téléchargés&#8230; et pour faire au plus simple, nous utiliserons uniquement le package monoglog ( tout le monde n&rsquo;a pas une base mongodb à la maison ). L&rsquo;interêt est de voir l&rsquo;utilisation de l&rsquo;autoloader, qui vous permet d&rsquo;utiliser vos classes sans inclure le fichier ou est déclaré la classe, mais un fichier qui se charge de trouver pour vous les classes ( pas vraiment &#8211; en fait il faut que le package respecte la norme PSR-0, voir <a href="https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md">https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md</a> )</p>
<div class="wp-cc wp-cc-php">
<pre><code data-language="php">&lt;?php

require(&#039;vendor/autoload.php&#039;);


use Monolog\Logger;
use Monolog\Handler\StreamHandler;


// On test que le dossier logs existe, sinon on le crée
if(! (file_exists(&#039;logs&#039;) &amp;&amp; is_dir(&#039;logs&#039;)))
        mkdir(&#039;logs&#039;,0775);


// Initialisation des loggers
$log = new Logger(&#039;test_logger&#039;);
// Ce logger enregistrera tous les messages, DEBUG étant le niveau le moins important
$log-&gt;pushHandler(new StreamHandler(&#039;logs/all.log&#039;, Logger::DEBUG));
// Ce logger enregistera tous les messages ayant un niveau supérieur ou égal à WARNING
$log-&gt;pushHandler(new StreamHandler(&#039;logs/min_warning.log&#039;, Logger::WARNING));



$log-&gt;debug(&#039;Message de debug&#039;);
$log-&gt;warn(&#039;Message de warning&#039;);
$log-&gt;emerg(&#039;Grosse Erreur !!!!&#039;);
</code></pre>
</div>
<p>Et voilà ! Je ne vais pas vous expliquer comment marche Monolog, c&rsquo;est assez simple, et surtout ce n&rsquo;est pas l&rsquo;objectif de cet article <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pour plus d&rsquo;infos, rendez vous sur la documentation github du projet : <a href="https://github.com/Seldaek/monolog">https://github.com/Seldaek/monolog</a></p>
]]></content:encoded>
							<wfw:commentRss>http://www.ao6-labs.eu/2012/08/18/composer-installation-et-utilisation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Mes activités du moment&#8230;</title>
		<link>http://www.ao6-labs.eu/2012/04/06/mes-activites-du-moment/</link>
				<comments>http://www.ao6-labs.eu/2012/04/06/mes-activites-du-moment/#respond</comments>
				<pubDate>Fri, 06 Apr 2012 09:20:44 +0000</pubDate>
		<dc:creator><![CDATA[AoSiX]]></dc:creator>
				<category><![CDATA[C'est ma vie]]></category>
		<category><![CDATA[cs:source]]></category>
		<category><![CDATA[geeks-life]]></category>
		<category><![CDATA[vakarm]]></category>

		<guid isPermaLink="false">http://www.ao6-labs.eu/?p=192</guid>
				<description><![CDATA[Ce blog est clairement mort&#8230; je suis en effet pas mal occupé. En effet, mis à part le boulot qui me prends la majeure partie de la journée, j&#8217;ai 2 autres passions qui me prennent du temps &#8230; Geeks-life.com Je travail principalement en tant que développeur pour eux, sur un site qui est en cours&#8230; <a href="http://www.ao6-labs.eu/2012/04/06/mes-activites-du-moment/">Lire l'article <span class="meta-nav">&#8594;</span></a>]]></description>
								<content:encoded><![CDATA[<p>Ce blog est clairement mort&#8230; je suis en effet pas mal occupé. En effet, mis à part le boulot qui me prends la majeure partie de la journée, j&rsquo;ai 2 autres passions qui me prennent du temps &#8230;</p>
<h2><a href="http://www.geeks-life.com/">Geeks-life.com</a></h2>
<p><a href="http://www.geeks-life.com/"><img class="alignleft  wp-image-195" title="Geek's Life" src="http://www.ao6-labs.eu/wp-content/uploads/2012/04/41025_112674505452889_106931586027181_80273_6900263_n1.jpg" alt="Geek's Life" width="120" height="120" srcset="http://www.ao6-labs.eu/wp-content/uploads/2012/04/41025_112674505452889_106931586027181_80273_6900263_n1.jpg 200w, http://www.ao6-labs.eu/wp-content/uploads/2012/04/41025_112674505452889_106931586027181_80273_6900263_n1-150x150.jpg 150w, http://www.ao6-labs.eu/wp-content/uploads/2012/04/41025_112674505452889_106931586027181_80273_6900263_n1-90x90.jpg 90w" sizes="(max-width: 120px) 100vw, 120px" /></a>Je travail principalement en tant que développeur pour eux, sur un site qui est en cours de développement. <strong>Geek&rsquo;s Life</strong>, c&rsquo;est une bande de passionnés férus de nouvelles technologies, de divertissements principalement audio/visuel mais aussi de jeux IRL comme les jeux de plateau, à la fois des consommateurs invétérés de ce monde et des façonneurs de celui-ci. L&rsquo;équipe se composant d’acteurs du milieu, travaillant/étudiant dans des branches affiliées à ce domaine si vaste et riche qu’est l’univers des Geeks.</p>
<p>N&rsquo;hesitez pas à <a href="http://www.geeks-life.com/">Visiter Geek&rsquo;s Life</a>, et si vous en avez envie, on recherche des rédacteurs ! <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br style="clear" /></p>
<h2><a href="http://www.vakarm.net/">VaKarM.net</a></h2>
<p><a href="http://www.VaKarM.net/"><img class="alignleft  wp-image-198" title="VaKarM" src="http://www.ao6-labs.eu/wp-content/uploads/2012/04/vakarmpng1-150x150.png" alt="VaKarM" width="96" height="96" srcset="http://www.ao6-labs.eu/wp-content/uploads/2012/04/vakarmpng1-150x150.png 150w, http://www.ao6-labs.eu/wp-content/uploads/2012/04/vakarmpng1-300x300.png 300w, http://www.ao6-labs.eu/wp-content/uploads/2012/04/vakarmpng1-1024x1024.png 1024w, http://www.ao6-labs.eu/wp-content/uploads/2012/04/vakarmpng1.png 1500w" sizes="(max-width: 96px) 100vw, 96px" /></a>Je suis arrivé très récemment chez VaKarM.net, en tant que streamer. Mon job consiste à retransmettre en live des matchs Counter Strike : Source, et Counter Strike : Global Offensive. <strong>VaKarM.net</strong> est une association loi 1901 à but non lucratif, dont le but est de traité l&rsquo;actualité autour de Counter Strike Source, que ce soit en terme de mis à jour sur le jeu, d&rsquo;actualité des grosses équipes ou de coverage de LAN. Une évolution se produit en ce moment, dans le sens de la couverture du jeu Counter Strike : Global Offensive.</p>
<p>D&rsquo;ailleurs en tout le Week End, nous nous mobilisions pour faire un coverage de la CPH, alors visitez nous sur <a href="http://www.vakarm.net/">VaKaM.net</a>, et n&rsquo;hesitez pas à faire tourner le stream si vous avez des amis gamers !</p>
<p>Voilà, c&rsquo;est tout, je repasse vous voir bientôt avec des news, sans doute plus techniques <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
							<wfw:commentRss>http://www.ao6-labs.eu/2012/04/06/mes-activites-du-moment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Un système de filtre simple avec JQuery</title>
		<link>http://www.ao6-labs.eu/2011/11/11/un-systeme-de-filtre-simple-avec-jquery/</link>
				<comments>http://www.ao6-labs.eu/2011/11/11/un-systeme-de-filtre-simple-avec-jquery/#comments</comments>
				<pubDate>Fri, 11 Nov 2011 16:50:55 +0000</pubDate>
		<dc:creator><![CDATA[AoSiX]]></dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[filtre]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[snipper]]></category>
		<category><![CDATA[tutoriel]]></category>

		<guid isPermaLink="false">http://www.ao6-labs.eu/?p=162</guid>
				<description><![CDATA[Coucou les copains ! Je vous écris un petit article après un long moment d&#8217;absence ( déménagement ) pour créer un petit script qui vous permettra de filtrer une liste selon un critère défini dans un simple &#60;select /&#62;. Télécharger les sources Voir la démo Allez, commençons. 1. Le HTML &#38; CSS Comme je l&#8217;annonce dans la&#8230; <a href="http://www.ao6-labs.eu/2011/11/11/un-systeme-de-filtre-simple-avec-jquery/">Lire l'article <span class="meta-nav">&#8594;</span></a>]]></description>
								<content:encoded><![CDATA[<p>Coucou les copains !</p>
<p>Je vous écris un petit article après un long moment d&rsquo;absence ( déménagement ) pour créer un petit script qui vous permettra de filtrer une liste selon un critère défini dans un simple <em>&lt;select /&gt;</em>.</p>
<p style="text-align: center; font-size: 18pt;"><a title="Voir la démo" href="http://www.ao6-labs.eu/labo/filtre_jquery/filtre_jquery.zip">Télécharger les sources</a></p>
<p style="text-align: center; font-size: 18pt;"><a title="Voir la démo" href="http://www.ao6-labs.eu/labo/filtre_jquery/">Voir la démo</a></p>
<p>Allez, commençons.</p>
<p><span id="more-162"></span></p>
<h1>1. Le HTML &amp; CSS</h1>
<p>Comme je l&rsquo;annonce dans la partie concernée, c&rsquo;est vraiment pas bien de mettre le code css directement dans la page HTML, mais passons, là n&rsquo;est pas le but de la manoeuvre !</p>
<pre class="brush: xml; title: ; notranslate">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;
&quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
	&lt;head&gt;
		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
		&lt;title&gt;Tutoriel tri de liste sur Ao6-Labs.eu&lt;/title&gt;
		&lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js&quot;&gt;&lt;/script&gt;
		&lt;script src=&quot;js/filtre.js&quot;&gt;&lt;/script&gt;
		&lt;!-- LES ENFANTS, JULIEN EST UN DEVELOPPEUR COMPLETEMENT FOU,
		NE METTEZ JAMAIS VOS STYLES CSS DANS VOTRE PAGE HTML CHEZ VOUS --&gt;
		&lt;style&gt;
			* {
				margin: 0;
				padding: 0;
				font-family: Verdana, Arial, sans-serif
			}
			body {
				background: #ABABAB url(img/sprite.png) repeat;
			}
			#headerbar {
				position: fixed;
				top: 0;
				left: 0;
				z-index: 999;
				width: 100%;
				border-bottom: 1px solid #888;
			}
			#innerheaderbar {
				height: 36px;
				background: #CECECE url(&quot;http://www.ao6-labs.eu/wp-content/themes/mystique/images/bg-nav.png&quot;) repeat-x center top;
				padding-top: 20px;
				padding-left: 15px;
			}
			.alignRight {
				float: right;
			}
			div#siteTitle {
				margin-top: -10px;
				margin-right: 15px;
			}
			#siteTitle a {
				font-size: 30px;
				text-decoration: none;
				font-weight: bold;
				color: #116ecd;
				text-shadow: 0px 0px 9px #333;
			}
			#page
			{
				margin:75px 30px auto 30px;
			}
			#displayIfNothingFound{
				display:none;
			}
			#liste
			{
				margin-top:30px;
			}
		&lt;/style&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;div id=&quot;headerbar&quot;&gt;
			&lt;div id=&quot;innerheaderbar&quot;&gt;
				&lt;div class=&quot;alignRight&quot; id=&quot;siteTitle&quot;&gt;
					&lt;a href=&quot;http://www.ao6-labs.eu/&quot;&gt;Ao6-Labs.eu&lt;/a&gt;
				&lt;/div&gt;
				&lt;a href=&quot;http://www.ao6-labs.eu/2011/11/11/un-systeme-de-filtre-simple-avec-jquery&quot;&gt;Retour au tutoriel&lt;/a&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		&lt;div id=&quot;page&quot;&gt;
			&lt;div id=&quot;filtrebox&quot;&gt;
				&lt;strong&gt;Filtre: choisissez un département&lt;/strong&gt;&lt;br /&gt;
				&lt;select name=&quot;deptList&quot; id=&quot;deptList&quot;&gt;
					&lt;option value=&quot;00&quot;&gt;Voir toutes les descriptions&lt;/option&gt;
					&lt;option value=&quot;01&quot;&gt;01 - Ain &lt;/option&gt;
					&lt;option value=&quot;02&quot;&gt;02 - Aisne &lt;/option&gt;
					&lt;option value=&quot;03&quot;&gt;03 - Allier &lt;/option&gt;
					&lt;option value=&quot;04&quot;&gt;04 - Alpes de Haute Provence &lt;/option&gt;
					&lt;option value=&quot;05&quot;&gt;05 - Hautes Alpes &lt;/option&gt;
					&lt;option value=&quot;06&quot;&gt;06 - Alpes Maritimes &lt;/option&gt;
					&lt;option value=&quot;07&quot;&gt;07 - Ardèche &lt;/option&gt;
					&lt;option value=&quot;08&quot;&gt;08 - Ardennes &lt;/option&gt;
					&lt;option value=&quot;09&quot;&gt;09 - Ariège &lt;/option&gt;
					&lt;option value=&quot;10&quot;&gt;10 - Aube &lt;/option&gt;
					&lt;option value=&quot;11&quot;&gt;11 - Aude &lt;/option&gt;
					&lt;option value=&quot;12&quot;&gt;12 - Aveyron &lt;/option&gt;
					&lt;option value=&quot;13&quot;&gt;13 - Bouches du Rhône &lt;/option&gt;
					&lt;option value=&quot;14&quot;&gt;14 - Calvados &lt;/option&gt;
					&lt;option value=&quot;15&quot;&gt;15 - Cantal &lt;/option&gt;
					&lt;option value=&quot;16&quot;&gt;16 - Charente &lt;/option&gt;
					&lt;option value=&quot;17&quot;&gt;17 - Charente Maritime &lt;/option&gt;
					&lt;option value=&quot;18&quot;&gt;18 - Cher &lt;/option&gt;
					&lt;option value=&quot;19&quot;&gt;19 - Corrèze &lt;/option&gt;
					&lt;option value=&quot;2A&quot;&gt;2A - Corse du Sud &lt;/option&gt;
					&lt;option value=&quot;2B&quot;&gt;2B - Haute-Corse &lt;/option&gt;
					&lt;option value=&quot;21&quot;&gt;21 - Côte d'Or &lt;/option&gt;
					&lt;option value=&quot;22&quot;&gt;22 - Côtes d'Armor &lt;/option&gt;
					&lt;option value=&quot;23&quot;&gt;23 - Creuse &lt;/option&gt;
					&lt;option value=&quot;24&quot;&gt;24 - Dordogne &lt;/option&gt;
					&lt;option value=&quot;25&quot;&gt;25 - Doubs &lt;/option&gt;
					&lt;option value=&quot;26&quot;&gt;26 - Drôme &lt;/option&gt;
					&lt;option value=&quot;27&quot;&gt;27 - Eure &lt;/option&gt;
					&lt;option value=&quot;28&quot;&gt;28 - Eure et Loir &lt;/option&gt;
					&lt;option value=&quot;29&quot;&gt;29 - Finistère &lt;/option&gt;
					&lt;option value=&quot;30&quot;&gt;30 - Gard &lt;/option&gt;
					&lt;option value=&quot;31&quot;&gt;31 - Haute Garonne &lt;/option&gt;
					&lt;option value=&quot;32&quot;&gt;32 - Gers &lt;/option&gt;
					&lt;option value=&quot;33&quot;&gt;33 - Gironde &lt;/option&gt;
					&lt;option value=&quot;34&quot;&gt;34 - Hérault &lt;/option&gt;
					&lt;option value=&quot;35&quot;&gt;35 - Ille et Vilaine &lt;/option&gt;
					&lt;option value=&quot;36&quot;&gt;36 - Indre &lt;/option&gt;
					&lt;option value=&quot;37&quot;&gt;37 - Indre et Loire &lt;/option&gt;
					&lt;option value=&quot;38&quot;&gt;38 - Isère &lt;/option&gt;
					&lt;option value=&quot;39&quot;&gt;39 - Jura &lt;/option&gt;
					&lt;option value=&quot;40&quot;&gt;40 - Landes &lt;/option&gt;
					&lt;option value=&quot;41&quot;&gt;41 - Loir et Cher &lt;/option&gt;
					&lt;option value=&quot;42&quot;&gt;42 - Loire &lt;/option&gt;
					&lt;option value=&quot;43&quot;&gt;43 - Haute Loire &lt;/option&gt;
					&lt;option value=&quot;44&quot;&gt;44 - Loire Atlantique &lt;/option&gt;
					&lt;option value=&quot;45&quot;&gt;45 - Loiret &lt;/option&gt;
					&lt;option value=&quot;46&quot;&gt;46 - Lot &lt;/option&gt;
					&lt;option value=&quot;47&quot;&gt;47 - Lot et Garonne &lt;/option&gt;
					&lt;option value=&quot;48&quot;&gt;48 - Lozère &lt;/option&gt;
					&lt;option value=&quot;49&quot;&gt;49 - Maine et Loire &lt;/option&gt;
					&lt;option value=&quot;50&quot;&gt;50 - Manche &lt;/option&gt;
					&lt;option value=&quot;51&quot;&gt;51 - Marne &lt;/option&gt;
					&lt;option value=&quot;52&quot;&gt;52 - Haute Marne &lt;/option&gt;
					&lt;option value=&quot;53&quot;&gt;53 - Mayenne &lt;/option&gt;
					&lt;option value=&quot;54&quot;&gt;54 - Meurthe et Moselle &lt;/option&gt;
					&lt;option value=&quot;55&quot;&gt;55 - Meuse &lt;/option&gt;
					&lt;option value=&quot;56&quot;&gt;56 - Morbihan &lt;/option&gt;
					&lt;option value=&quot;57&quot;&gt;57 - Moselle &lt;/option&gt;
					&lt;option value=&quot;58&quot;&gt;58 - Nièvre &lt;/option&gt;
					&lt;option value=&quot;59&quot;&gt;59 - Nord &lt;/option&gt;
					&lt;option value=&quot;60&quot;&gt;60 - Oise &lt;/option&gt;
					&lt;option value=&quot;61&quot;&gt;61 - Orne &lt;/option&gt;
					&lt;option value=&quot;62&quot;&gt;62 - Pas de Calais &lt;/option&gt;
					&lt;option value=&quot;63&quot;&gt;63 - Puy de Dôme &lt;/option&gt;
					&lt;option value=&quot;64&quot;&gt;64 - Pyrénées Atlantiques &lt;/option&gt;
					&lt;option value=&quot;65&quot;&gt;65 - Hautes Pyrénées &lt;/option&gt;
					&lt;option value=&quot;66&quot;&gt;66 - Pyrénées Orientales &lt;/option&gt;
					&lt;option value=&quot;67&quot;&gt;67 - Bas Rhin &lt;/option&gt;
					&lt;option value=&quot;68&quot;&gt;68 - Haut Rhin &lt;/option&gt;
					&lt;option value=&quot;69&quot;&gt;69 - Rhône &lt;/option&gt;
					&lt;option value=&quot;70&quot;&gt;70 - Haute Saône &lt;/option&gt;
					&lt;option value=&quot;71&quot;&gt;71 - Saône et Loire &lt;/option&gt;
					&lt;option value=&quot;72&quot;&gt;72 - Sarthe &lt;/option&gt;
					&lt;option value=&quot;73&quot;&gt;73 - Savoie &lt;/option&gt;
					&lt;option value=&quot;74&quot;&gt;74 - Haute Savoie &lt;/option&gt;
					&lt;option value=&quot;75&quot;&gt;75 - Paris &lt;/option&gt;
					&lt;option value=&quot;76&quot;&gt;76 - Seine Maritime &lt;/option&gt;
					&lt;option value=&quot;77&quot;&gt;77 - Seine et Marne &lt;/option&gt;
					&lt;option value=&quot;78&quot;&gt;78 - Yvelines &lt;/option&gt;
					&lt;option value=&quot;79&quot;&gt;79 - Deux Sèvres &lt;/option&gt;
					&lt;option value=&quot;80&quot;&gt;80 - Somme &lt;/option&gt;
					&lt;option value=&quot;81&quot;&gt;81 - Tarn &lt;/option&gt;
					&lt;option value=&quot;82&quot;&gt;82 - Tarn et Garonne &lt;/option&gt;
					&lt;option value=&quot;83&quot;&gt;83 - Var &lt;/option&gt;
					&lt;option value=&quot;84&quot;&gt;84 - Vaucluse &lt;/option&gt;
					&lt;option value=&quot;85&quot;&gt;85 - Vendée &lt;/option&gt;
					&lt;option value=&quot;86&quot;&gt;86 - Vienne &lt;/option&gt;
					&lt;option value=&quot;87&quot;&gt;87 - Haute Vienne &lt;/option&gt;
					&lt;option value=&quot;88&quot;&gt;88 - Vosges &lt;/option&gt;
					&lt;option value=&quot;89&quot;&gt;89 - Yonne &lt;/option&gt;
					&lt;option value=&quot;90&quot;&gt;90 - Territoire de Belfort &lt;/option&gt;
					&lt;option value=&quot;91&quot;&gt;91 - Essonne &lt;/option&gt;
					&lt;option value=&quot;92&quot;&gt;92 - Hauts de Seine &lt;/option&gt;
					&lt;option value=&quot;93&quot;&gt;93 - Seine Saint Denis &lt;/option&gt;
					&lt;option value=&quot;94&quot;&gt;94 - Val de Marne &lt;/option&gt;
					&lt;option value=&quot;95&quot;&gt;95 - Val d'Oise &lt;/option&gt;
					&lt;option value=&quot;971&quot;&gt;971 - Guadeloupe &lt;/option&gt;
					&lt;option value=&quot;972&quot;&gt;972 - Martinique &lt;/option&gt;
					&lt;option value=&quot;973&quot;&gt;973 - Guyane &lt;/option&gt;
					&lt;option value=&quot;974&quot;&gt;974 - Réunion &lt;/option&gt;
					&lt;option value=&quot;975&quot;&gt;975 - Saint Pierre et Miquelon &lt;/option&gt;
					&lt;option value=&quot;976&quot;&gt;976 - Mayotte &lt;/option&gt;
				&lt;/select&gt;
			&lt;/div&gt;

			&lt;ul id=&quot;liste&quot;&gt;
				&lt;!-- Attention !! N'oubliez pas que l'on traitera des chaines de caracteres, pas des entier ! le 0 à donc toute son importance --&gt;
				&lt;li data-departement=&quot;08&quot;&gt;
					&lt;div&gt;
						&lt;h2&gt;Département des Ardennes&lt;/h2&gt;
						&lt;p&gt;Les Ardennes sont un département français de la région Champagne-Ardenne. L'Insee et la Poste lui attribuent le code 08.&lt;/p&gt;
					&lt;/div&gt;
				&lt;/li&gt;

				&lt;li data-departement=&quot;13&quot;&gt;
					&lt;div&gt;
						&lt;h2&gt;Département Provence-Alpes-Côte d'Azur&lt;/h2&gt;
						&lt;p&gt;La Provence-Alpes-Côte d'Azur (Provença-Aups-Còsta d'Azur ou Prouvènço-Aup-Costo d'Azur en occitan provençal, prononcé [pʀuˈvɛⁿsɔ ˈaw ˈkɔstɔ d aˈzyʀ]) est une région administrative française du Sud-Est. Elle est souvent désignée par l'acronyme PACA.&lt;/p&gt;
					&lt;/div&gt;
				&lt;/li&gt;

				&lt;li data-departement=&quot;29&quot;&gt;
					&lt;div&gt;
						&lt;h2&gt;Département du Finistère&lt;/h2&gt;
						&lt;p&gt;Le Finistère est un département français situé en Bretagne. L'Insee et la Poste lui attribuent le code 29.&lt;/p&gt;
					&lt;/div&gt;
				&lt;/li&gt;
				&lt;li data-departement=&quot;39&quot;&gt;
					&lt;div&gt;
						&lt;h2&gt;Département du Jura&lt;/h2&gt;
						&lt;p&gt;Le Jura est un département français dont le nom vient du massif du Jura. L'Insee et la Poste lui attribuent le code 39.&lt;/p&gt;
					&lt;/div&gt;
				&lt;/li&gt;
				&lt;li data-departement=&quot;59&quot;&gt;
					&lt;div&gt;
						&lt;h2&gt;Département du Nord&lt;/h2&gt;
						&lt;p&gt;Le Nord est le département français le plus septentrional. Il est bordé par la Mer du Nord, d'où son nom. Il est constitué de la Flandre française, qui correspond aux arrondissements départementaux de Dunkerque, de Lille et de Douai (autrefois partie du comté de Flandre), du Cambrésis (ancienne principauté ecclésiastique) et de la partie méridionale de l'ancien comté de Hainaut. En fait, le département du Nord décrit un tracé similaire à la &quot;Province de Flandre&quot; pré-révolutionnaire, qui avait adopté le blason au lion noir de l'ancien comté de Flandre même si cette province incluait aussi le Cambrésis et une partie du Hainaut en plus du comté de Flandre proprement dit. L'Insee et la Poste lui attribuent le code 59.&lt;/p&gt;
					&lt;/div&gt;
				&lt;/li&gt;
				&lt;li data-departement=&quot;69&quot;&gt;
					&lt;div&gt;
						&lt;h2&gt;Département du Rhône&lt;/h2&gt;
						&lt;p&gt;Le Rhône est un département français traversé par le fleuve du même nom. L'Insee et la Poste lui attribuent le code 69. Ses habitants sont appelés les Rhodaniens et Rhodaniennes.&lt;/p&gt;
					&lt;/div&gt;
				&lt;/li&gt;
				&lt;li data-departement=&quot;75&quot;&gt;
					&lt;div&gt;
						&lt;h2&gt;Département de Paris&lt;/h2&gt;
						&lt;p&gt;Paris (prononcer [paˈʁi] ), ville la plus peuplée et capitale de la France, chef-lieu de la région Île-de-France et unique commune-département du pays, se situe au centre du Bassin parisien, sur une boucle de la Seine, entre les confluents avec la Marne en amont et avec l’Oise en aval. Ses habitants s’appellent les Parisiens. La ville est divisée en 20 arrondissements.&lt;/p&gt;
					&lt;/div&gt;
				&lt;/li&gt;
				&lt;li data-departement=&quot;78&quot;&gt;
					&lt;div&gt;
						&lt;h2&gt;Département des Yvelines&lt;/h2&gt;
						&lt;p&gt;Les Yvelines (prononcer [ivlin]) sont un département français, appartenant à la grande couronne de la région Île-de-France. Créé en 1968, c'est le plus étendu des départements issus du démembrement de l'ancienne Seine-et-Oise et le huitième département français par la population (premier dans la grande couronne parisienne). L'Insee et la Poste lui attribuent le code 78 repris de l'ancienne Seine-et-Oise. Son conseil général est présidé par Alain Schmitz (UMP). Ses habitants sont appelés les Yvelinois.&lt;/p&gt;
					&lt;/div&gt;
				&lt;/li&gt;
				&lt;li data-departement=&quot;92&quot;&gt;
					&lt;div&gt;
						&lt;h2&gt;Département des Hauts-de-Seine&lt;/h2&gt;
						&lt;p&gt;Les Hauts-de-Seine sont un département français appartenant à la petite couronne de la région Île-de-France. L'Insee et la Poste lui attribuent le code 92. Ses habitants sont appelés Altoséquanais.&lt;/p&gt;
					&lt;/div&gt;
				&lt;/li&gt;
				&lt;li data-departement=&quot;976&quot;&gt;
					&lt;div&gt;
						&lt;h2&gt;Mayotte&lt;/h2&gt;
						&lt;p&gt;Mayotte (appelée aussi Maore en shimaoré)1), est un département d’outre-mer (DOM) français de l'océan Indien située dans l'archipel des Comores lui même localisé dans le canal du Mozambique, et dont le chef-lieu est Mamoudzou, la plus grande ville du territoire. Mayotte est constituée de deux îles principales, Grande-Terre et Petite-Terre, et de plusieurs autres petites îles, dont Mtsamboro, Mbouzi et Bandrélé. Son code départemental officiel est le « 976 ». Ses habitants sont appelés les Mahorais.&lt;/p&gt;
					&lt;/div&gt;
				&lt;/li&gt;

				&lt;!-- on ajoute un li qu'on affichera uniquement quand on aura pas de résultat --&gt;
				&lt;li id=&quot;displayIfNothingFound&quot;&gt;
					&lt;div&gt;
						&lt;strong&gt;Aucune donnée sur ce département.&lt;/strong&gt;
					&lt;/div&gt;
				&lt;/li&gt;

			&lt;/ul&gt;
		&lt;/div&gt;
	&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Sérieusement, rien d&rsquo;exceptionnel, c&rsquo;est du code HTML classique. Mais vous avez quelque chose d’intéressant à en tirer : un select avec tous les départements ( même DOM/TOM ) Français ! Wunderbar hein ? <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Passons donc au plus intéressant : le javascript.</p>
<h1>Le javascript</h1>
<p>Dans la partie HTML &amp; CSS, vous avez pu observer l&rsquo;inclusion de JQuery, et d&rsquo;un fichier &lsquo;js/filtre.js&rsquo; : nous allons nous intéresser à ce dernier.</p>
<pre class="brush: jscript; title: ; notranslate">$(document).ready(function(){

	$(&quot;#deptList&quot;).change(function(){
		var dptChoose = $(this).val(); // on récupère la value de l'option selectionnée

		// On traite des chaines, il est donc important de mettre deux 0 ( car l'option a comme value '00' ).
		if(dptChoose == &quot;00&quot;)
		{
			$(&quot;ul#liste li&quot;).slideDown();
			return;
		}

		var i=0;
		$(&quot;ul#liste li:not(#displayIfNothingFound)&quot;).each(function(){
			if($(this).data(&quot;departement&quot;) != dptChoose)
				$(this).slideUp();
			else
			{
				i++;
				$(this).slideDown();
			}
		});

		// si il n'y a pas de résultat, on montre l'item fait pour, sinon si il y en a et que cet item est visible, on le cache.
		if(i == 0 &amp;&amp; $(&quot;#displayIfNothingFound:visible&quot;).length == 0)
			$(&quot;#displayIfNothingFound&quot;).slideDown();
		else if(i &gt; 0 &amp;&amp; $(&quot;#displayIfNothingFound:visible&quot;).length == 1)
			$(&quot;#displayIfNothingFound&quot;).slideUp();
	});
});</pre>
<p>Le code est assez bien commenté je trouve, je vais juste revenir sur les points les moins « commun » :</p>
<ol>
<li><em>$(« ul#liste li:not(#displayIfNothingFound) »)</em> : C&rsquo;est un sélecteur assez gros, mais pas bien difficile à comprendre : on selectionne les élements li, qui n&rsquo;ont pas pour id « displayIfNothingFound », dans l&rsquo;ul ayant pour id &lsquo;liste&rsquo;</li>
<li><em>$(« ul#liste li:not(#displayIfNothingFound) »).each(function)</em> : Je ne reviens pas sur le selecteur, mais sur la fonction <em>.each()</em> elle permet de parcourir tous les elements retournés par le sélecteur. l’élément en cours est accessible par un simple $(this)</li>
<li><em>$(this).data(« departement »)</em> : c&rsquo;est une de nouveauté fournie par HTML5, et supportée par JQuery : les attributs data-. Regardons de plus près nos balises li :
<pre class="brush: xml; title: ; notranslate">&lt;li data-departement=&quot;08&quot;&gt;
&lt;li data-departement=&quot;13&quot;&gt;
&lt;li data-departement=&quot;29&quot;&gt;
&lt;li data-departement=&quot;39&quot;&gt;
&lt;li data-departement=&quot;59&quot;&gt;
&lt;li data-departement=&quot;69&quot;&gt;
&lt;li data-departement=&quot;75&quot;&gt;
&lt;li data-departement=&quot;78&quot;&gt;
&lt;li data-departement=&quot;92&quot;&gt;
&lt;li data-departement=&quot;976&quot;&gt;</pre>
<p>nous leur avons défini une donnée département sur chaque element, accessible grâce à JQuery grâce à la fonction <em>.data(« departement »);</em>. Utile non ? <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
<li>Et pour finir encore un sélecteur assez simple, mais utile à connaitre : <em>$(« #displayIfNothingFound:visible »)</em>. En ajoutant <em>:visible</em> derrière votre sélecteur, vous demande allez à sélectionner uniquement les éléments visible. Pour faire l&rsquo;inverse, il y a <em>:hidden</em></li>
</ol>
<h1>Le mot de la fin</h1>
<p>That&rsquo;s it guys, c&rsquo;était rien d&rsquo;extraordinaire, mais le monde avance doucement <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p style="text-align: center; font-size: 18pt;"><a title="Voir la démo" href="http://www.ao6-labs.eu/labo/filtre_jquery/filtre_jquery.zip">Télécharger les sources</a></p>
<p style="text-align: center; font-size: 18pt;"><a title="Voir la démo" href="http://www.ao6-labs.eu/labo/filtre_jquery/">Voir la démo</a></p>
]]></content:encoded>
							<wfw:commentRss>http://www.ao6-labs.eu/2011/11/11/un-systeme-de-filtre-simple-avec-jquery/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
							</item>
		<item>
		<title>Mon projet domotique commence&#8230;</title>
		<link>http://www.ao6-labs.eu/2011/08/21/mon-projet-domotique-commence/</link>
				<comments>http://www.ao6-labs.eu/2011/08/21/mon-projet-domotique-commence/#comments</comments>
				<pubDate>Sun, 21 Aug 2011 13:09:52 +0000</pubDate>
		<dc:creator><![CDATA[AoSiX]]></dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[domotique]]></category>
		<category><![CDATA[z-wave]]></category>

		<guid isPermaLink="false">http://www.ao6-labs.eu/?p=131</guid>
				<description><![CDATA[Ca fait un moment déjà que je suis attiré par le domaine de la domotique ( à ne pas confondre avec la ROBOTIQUE ), et aujourd&#8217;hui je commence l&#8217;aventure. Qu&#8217;est-ce que la domotique ? La domotique, c&#8217;est l&#8217;art d&#8217;exploiter la technologie pour améliorer son confort de vie. Ca ne vous parle pas beaucoup hein &#8230;.&#8230; <a href="http://www.ao6-labs.eu/2011/08/21/mon-projet-domotique-commence/">Lire l'article <span class="meta-nav">&#8594;</span></a>]]></description>
								<content:encoded><![CDATA[<p>Ca fait un moment déjà que je suis attiré par le domaine de la domotique ( à ne pas confondre avec la ROBOTIQUE ), et aujourd&rsquo;hui je commence l&rsquo;aventure.</p>
<h1><a href="http://www.ao6-labs.eu/wp-content/uploads/2011/08/img471.jpg"><img class="size-thumbnail wp-image-159 alignright" title="Domotique, le rêve depuis 1985" src="http://www.ao6-labs.eu/wp-content/uploads/2011/08/img471-150x150.jpg" alt="Domotique, le rêve depuis 1985" width="150" height="150" /></a>Qu&rsquo;est-ce que la domotique ?</h1>
<p>La domotique, c&rsquo;est l&rsquo;art d&rsquo;exploiter la technologie pour améliorer son confort de vie. Ca ne vous parle pas beaucoup hein &#8230;. des exemples vous aiderons à mieux comprendre :</p>
<ul>
<li>Je rentre chez moi à 18h00 en plein hiver, il fait noir dehors. Je rentre dans ma maison, et à ce moment là, un detecteur de présence me repère, puis allume la lumière.</li>
<li>Le plus simple et le plus commun : Ouvrir mes volets automatiquement tous les jours à 7h00, et fermeture automatique à 20h00</li>
<li>Simulation de présence quand vous allez en vacance, avec la lumière qui s&rsquo;alumme toute seule aux heures ou vous devriez être présent</li>
<li>Puis ce qu&rsquo;on parle de sécurité : Système de vidéo surveillance avec envoi automatique d&#8217;email et de SMS en cas d&rsquo;intrusion</li>
</ul>
<p>On parle aussi de gestion de home cinéma, de commandes vocales&#8230;.. bref, un vrai moyen d&rsquo;améliorer son confort de vie !<br />
<small>Ma description n&rsquo;est pas forcement la meilleure, ni la plus juste&#8230;je vous laisse <a href="http://fr.wikipedia.org/wiki/Domotique">regarder sur Wikipedia</a> pour plus d&rsquo;info</small><br />
<span id="more-131"></span></p>
<h1>Débuter en domotique : un vrai casse tête</h1>
<p>Comme dans beaucoup de domaine, il faut un certain temps pour comprendre un peu comment ça marche. Déjà, il réussir à s&rsquo;orienté dans la masse des technologies qui s&rsquo;offrent à nous&#8230; Radio Fréquence, Courant porteur de ligne(CPL), Infrarouge, sur réseau ethernet ou en BUS&#8230; et en plus de ça, chacune de ces catégories contient plusieurs technologies qui sont pour la plupart, ou pour la totalité, incompatible les une les autres.</p>
<p>Bref, il m&rsquo;a fallu fait un choix, je me suis naturellement orienté vers les technologies les plus utilisés :</p>
<ul>
<li>X10: c&rsquo;est un protocole de communication en <acronym title="courant porteur de ligne">CPL</acronym>, donc idéal pour transmettre des ordres à n&rsquo;importe quel device sur le réseau électrique. Il est aussi possible de commander certains device X10 par radio fréquence, qui sera ensuite retransmise dans le réseau électrique. Il m&rsquo;avait l&rsquo;air d&rsquo;être le candidat idéal, mais on me l&rsquo;a vivement déconseillé, car à priori la sécurité du protocole est assez faible&#8230;</li>
<li>Z-Wave: c&rsquo;est un protocole de communication sans fil, ou chaque device sert de relais pour transmettre les ordres. Un avantage de Z-Wave est qu&rsquo;il gère aussi le retour d&rsquo;état. c&rsquo;est à dire que si vous avez un interrupteur mural Z-Wave, et que vous décidé d&rsquo;appuyer dessus pour l&rsquo;éteindre, automatiquement il enverra son nouvel état au contrôleur principal. L&rsquo;inconvéniant : les prix des modules &#8230; $$$</li>
<li>KNX: Avec ce protocole, on passe par un BUS. Il est le protocole de référence des intéressés qui veulent refaire leurs installations électrique, et de ceux qui fait construire. Je ne connais pas bien les spécificités de ce dernier, mais de toute manière, en tant que simple locataire, mon choix ne pouvait pas se tourner vers ce dernier.</li>
</ul>
<p>Après avoir analysé un peu ces principaux protocoles, et certains autres qui ne m&rsquo;ont pas intéressé&#8230;.je me suis tourné vers Z-Wave</p>
<figure id="attachment_144" class="wp-caption thumbnail alignleft" style="width: 300px;">
				<a href="http://www.ao6-labs.eu/wp-content/uploads/2011/08/zwave_logo1.jpg"><img class="size-medium wp-image-144" title="Logo Z-Wave" src="http://www.ao6-labs.eu/wp-content/uploads/2011/08/zwave_logo1-300x206.jpg" alt="Le Logo de Z-Wave" width="300" height="206" /></a>
				<figcaption class="wp-caption-text">Le Logo de Z-Wave</figcaption>
			</figure>
<p>Pas KNX, parce que comme évoqué précédemment, cela implique de faire pas mal de travaux, et en tout que locataire c&rsquo;est une vrai galère de convaincre ses propriétaires que c&rsquo;est vraiment génial la domotique, ect ect &#8230;</p>
<p>Pas X10, car l&rsquo;immeuble étant assez vieux, j&rsquo;ai quelques crainte quand au bon fonctionnement d&rsquo;un réseau CPL, de plus les différents soucis de sécurité de ce protocole qui m&rsquo;ont été rapporté ne m&rsquo;enchante pas vraiment</p>
<p>Et donc Z-Wave, qui me permet d&rsquo;avoir un système domotique assez sécurisé, sans fil, et facilement évolutif. En effet, pour ajouter un nouveau module Z-Wave dans le réseau, il suffit globalement d&rsquo;appuyer sur un bouton du controlleur principal, et sur un bouton sur votre module à inclure.</p>
<p>Pour plus d&rsquo;infos sur le fonctionnement, rendez vous sur le blog de domadoo, où est rédigé un article de bonne qualité sur le fonctionnement de Z-Wave : <a href="http://blog.domadoo.fr/index.php/guide-domotique/guide-z-wave/98-z-wave-applications/628-installation-z-wave-de-base" target="_blank">Installation Z-Wave de Base</a></p>
<h1>Mon installation Z-Wave</h1>
<p>Plusieurs choix s&rsquo;offraient à moi à ce moment là. Je pouvais partir sur une installation sans PC, ou tout serait dirigé par une télécommande. Vraiment pratique pour commencer, mais cela ne répondais pas à mes attentes : je souhaitais pouvoir allumer le chauffage automatiquement l&rsquo;hiver si la temperature était entre X et Y degrés.</p>
<p>Je me suis donc orienté vers une solution où un PC serait le centre de commande. Voici ma shopping liste :</p>
<table>
<tbody>
<tr>
<th colspan="2">Contrôleur Z-Wave Aeon Labs Z-Stick S2</th>
</tr>
<tr>
<td colspan="2"><small><a href="http://www.planete-domotique.com/controleur-zwave-aeon-labs-z-stick-s2.html">http://www.planete-domotique.com/controleur-zwave-aeon-labs-z-stick-s2.html</a></small></td>
</tr>
<tr>
<td> <a href="http://www.ao6-labs.eu/wp-content/uploads/2011/08/aeon_usb_11.jpg"><img class="alignnone size-thumbnail wp-image-150" title="Aeon Labs Z-Stick" src="http://www.ao6-labs.eu/wp-content/uploads/2011/08/aeon_usb_11-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td> C&rsquo;est le contrôleur Z-Wave le plus répandu à mon avis. Son utilisateur est super simple : il n&rsquo;y a qu&rsquo;un bouton ! Il possède une batterie intégrée, ce qui vous permet de le débrancher du PC, pour aller près du module Z-Wave que vous souhaitez inclure ou exclure de votre réseau;Pour le passer en mode <strong>inclusion</strong>, un simple appui sur le bouton. La lumière clignotera alors lentement.<br />
Pour le passer en mode <strong>exclusion</strong>, effectuez un appui long sur le bouton du dessus. La lumière devrait alors clignoté rapidement.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th colspan="2">Prise ON/OFF Z-Wave &#8211; Everspring AN157-6</th>
</tr>
<tr>
<td colspan="2"><small><a href="http://www.planete-domotique.com/prise-on-off-z-wave-fr-everspring-an157-6.html">http://www.planete-domotique.com/prise-on-off-z-wave-fr-everspring-an157-6.html</a></small></td>
</tr>
<tr>
<td>Le module prise ON/OFF d&rsquo;Everspring est la prise la plus simple que vous puissiez trouvé. En effet, vous n&rsquo;avez qu&rsquo;à le brancher sur votre prise murale classique, et venir branché l&rsquo;appareil de votre choix dedans.&nbsp;</td>
<td><a href="http://www.ao6-labs.eu/wp-content/uploads/2011/08/evr_an157-6_11.jpg"><img title="Prise ON/OFF Z-Wave Everspring AN157-6" src="http://www.ao6-labs.eu/wp-content/uploads/2011/08/evr_an157-6_11-150x150.jpg" alt="Prise ON/OFF Z-Wave Everspring AN157-6" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th colspan="2">Thermomètre / Hygromètre Everspring ST814</th>
</tr>
<tr>
<td colspan="2"><small><a href="http://www.planete-domotique.com/everspring-capteur-de-temperature-et-d-humidite-z-wave-st814.html">http://www.planete-domotique.com/everspring-capteur-de-temperature-et-d-humidite-z-wave-st814.html</a></small></td>
</tr>
<tr>
<td> <a href="http://www.ao6-labs.eu/wp-content/uploads/2011/08/evr_st814_11.jpg"><img class="alignnone size-thumbnail wp-image-152" title="Thermomètre / Hygromètre EverSpring ST814" src="http://www.ao6-labs.eu/wp-content/uploads/2011/08/evr_st814_11-150x150.jpg" alt="Thermomètre / Hygromètre EverSpring ST814" width="150" height="150" /></a></td>
<td>Un thermomètre/hygromètre qui sous ses airs de petit module est une vrai perle ( et on en paie le prix ! ). Ce dernier permet de stocker la température et l&rsquo;humidité maximal et minimal.Il permet aussi grâce à un système d&rsquo;association, d&rsquo;envoyer des ordre à un autre module Z-Wave si une température max ou une température min est franchie par exemple.</td>
</tr>
</tbody>
</table>
<p>je vous expliquerai dans un prochain article ce que je vais en faire, et comment <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> !</p>
]]></content:encoded>
							<wfw:commentRss>http://www.ao6-labs.eu/2011/08/21/mon-projet-domotique-commence/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
							</item>
		<item>
		<title>Lancement du VDSL2 dès 2012 !</title>
		<link>http://www.ao6-labs.eu/2011/07/28/lancement-du-vdsl2-des-2012/</link>
				<comments>http://www.ao6-labs.eu/2011/07/28/lancement-du-vdsl2-des-2012/#comments</comments>
				<pubDate>Thu, 28 Jul 2011 09:27:04 +0000</pubDate>
		<dc:creator><![CDATA[AoSiX]]></dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[ARCEP]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[VDSL2]]></category>

		<guid isPermaLink="false">http://www.ao6-labs.eu/?p=119</guid>
				<description><![CDATA[C&#8217;est lors d&#8217;un chat organisé par l&#8217;ARCEP, que nous apprenons que le protocole VDSL2, qui permet d&#8217;obtenir du très haut débit en passant par une paire de cuivre, pourrait être autorisé au déploiement dès début 2012. Nous découvrons aussi que l&#8217;initiative de France Telecom avec les NRA-ZO, dont le principe était d&#8217;ouvrir des petits NRA&#8230; <a href="http://www.ao6-labs.eu/2011/07/28/lancement-du-vdsl2-des-2012/">Lire l'article <span class="meta-nav">&#8594;</span></a>]]></description>
								<content:encoded><![CDATA[<p>C&rsquo;est lors d&rsquo;un chat organisé par l&rsquo;<em>ARCEP</em>, que nous apprenons que le protocole <strong>VDSL2</strong>, qui permet d&rsquo;obtenir du très haut débit en passant par une paire de cuivre, pourrait être autorisé au déploiement dès début 2012. Nous découvrons aussi que l&rsquo;initiative de France Telecom avec les <strong>NRA-ZO</strong>, dont le principe était d&rsquo;ouvrir des petits <em>NRA</em> ( noeud de raccordement d&rsquo;abonnés ) plus proche de chez l&rsquo;habitant, directement lié aux NRA déjà en place, pourrait se voir remplacé par des <strong>NRA/MED</strong>, qui reprennent ce même principe, mais en obligeant la liaison entre deux <em>NRA</em> par de la fibre optique, et en imposant une distance maximale de 2km entre ces <em>NRA</em> afin de converser le meilleur débit possible.</p>
<p><span id="more-119"></span><br />
Les avantages de cette initiative se feront surtout sentir en zone rurale, où cela permettrai de fournir une connexion au mieux avec des performances proches de celles obtenues avec la fibre optique, et dans le pire des cas, <em>l&rsquo;ARCEP</em> estime de 90% des lignes raccordées à un <em>NRA/MED</em> profiterons d&rsquo;un débit d<strong>&lsquo;au moins 10Mbit/s</strong>. Cette technologie est également moins chère et plus simple au déploiement. Sous un autre angle, on sent aussi que petit à petit la fibre s&rsquo;installe de plus en plus proche de la maison, ce qui pourrait à terme rendre le déploiement de la <strong>FTTH</strong> ( Fibre directement à la maison ) depuis les <em>NRA/MED</em> beaucoup plus rapide ( et potentiellement moins couteux ).</p>
<p>A l&rsquo;heure ou ces lignes sont écrites, seule la Freebox Révolution semble compatible avec la technologie VDSL2, mais les concurrent se mettront très certainement vite à jour, afin de reconquérir et/ou ne pas perdre les foyers des zones rurales.</p>
<p><span style="text-decoration: underline;">Vous trouverez ci dessous l&rsquo;intégralité du chat :</span></p>
<blockquote><p><span style="font-size: x-small;">Bonsoir à toutes et à tous, nous avons le plaisir d’accueillir Antoine Samba et Thomas Hoarau.</span><br />
<span style="font-size: x-small;"> Bonjour et bienvenue sur le chat..</span></p>
<p><span style="font-size: x-small;"><strong>lulu34 : J’entends de plus en plus parler sur les forums de « montée en débit » ou « montée en débit sur la boucle locale cuivre de France Télécom » ? On parle de la même chose ?Merci de votre réponse.</strong></span></p>
<p><span style="font-size: x-small;">Plusieurs solutions techniques sont mobilisables pour répondre aux attentes en termes de montée en débit (augmentation du débit disponible) : les solutions filaires et les solutions hertziennes.</span><br />
<span style="font-size: x-small;"> La montée en débit via l’accès à la sous-boucle locale cuivre de France Telecom est une solution filaire qui consiste à rapprocher des utilisateurs le site où se trouvent les équipements actifs des opérateurs (d’où partent les signaux DSL).</span></p>
<p><span style="font-size: x-small;"><strong>lobez : quelle différence MED et NRAZO ?</strong></span></p>
<p><span style="font-size: x-small;">Techniquement, c’est la même chose au niveau du site où se trouveront les équipements actifs des opérateurs (au niveau du sous-répartiteur).</span><br />
<span style="font-size: x-small;"> En revanche, il existe une différence fondamentale en ce qui concerne le lien de collecte entre le NRA et le sous-répartiteur. En effet, dans le cas du NRA de montée en débit, ce raccordement sera systématiquement en fibre optique contrairement au NRAZO..</span></p>
<p><span style="font-size: x-small;"><strong>MED4 : Est ce que l’offre NRA-Zo est tjs actif ? J’avais cru comprendre qu’il n’y en aurait plus une fois l’offre NRA-MED mise en place</strong></span></p>
<p><span style="font-size: x-small;">L’offre NRA ZO a effectivement vocation à disparaître prochainement, compte tenu de la publication prochaine de l’offre de FT permettant la montée en débit vial’accès à la sous-boucle : l’offre PRM (Point de Raccordement Mutualisé)..</span></p>
<p><span style="font-size: x-small;"><strong>marcenac : le debit va augmenter de combien</strong></span></p>
<p><span style="font-size: x-small;">Compte tenu de l’architecture du réseau cuivre de FT, une opération de montée en débit permettra de fournir des débits de plus de 10 Mbit/s à plus de 90% des lignes derrière le sous-répartiteur concerné..</span></p>
<p><span style="font-size: x-small;"><strong>Mardan : Nous habitons dans la Sarthe, de nombreuses communes n’ont pas accÈs à l’ADSL.Moi-mÊme, j’ai un accès RE-ADSL à 512 K, mes voisins n’ont mÊme pas ce dÉbit. On nous donne aucune solution pour atteindre un dÉbit minimum de 2 MÉgas. Quelles solutions pouvons-nous espérer pour notre dÉpartement, pour pouvoir acceder aux diffÉrents services de l’Etat en ligne, au Cahier de texte pour nos enfants, etc&#8230;</strong></span></p>
<p><span style="font-size: x-small;">Les opérations de montée en débit devront s’adresser aux situations les plus pertinentes. Actuellement, le critère essentiel pour être éligible à une opération de montée en débit est la distance (atténuation du signal) entre le NRA et le sous-répartiteur. Celui-ci est fixé à environ 2 km (30 dB).</span><br />
<span style="font-size: x-small;"> Ainsi, les utilisateurs qui se trouvent derrière les sous-répartiteurs de cette catégorie sont susceptibles d’être concernés par une opération de montée en débit.</span></p>
<p><span style="font-size: x-small;"><strong>gilbert : qui peut faire la demande de « la montée en débit » et qui paye ?</strong></span></p>
<p><span style="font-size: x-small;">Ce sont les opérateurs dans le cadre de projets de réseaux d’initiative publique des collectivités qui seront les principaux demandeurs de la montée en débit</span><br />
<span style="font-size: x-small;"> Le coût de l’opération sera donc supporté en grande partie par la collectivité, à l’initiative du projet.</span></p>
<p><span style="font-size: x-small;"><strong>FREESCAUT : quel serait le cout pour une commune comme la mienne(NEUVILLE SUR ESCAUT 59293 nord) par habitants en faisant un sondage je pense que cela pourrait etre envisageable !!! qu’en pensez vous ???</strong></span></p>
<p><span style="font-size: x-small;">Il y a 2 grands postes de coût dans la mise en oeuvre d’un projet de montée en débit : le déploiement du lien de fibre optique entre le NRA et le sous-répartiteur et l’aménagement du site de montée en débit.</span><br />
<span style="font-size: x-small;"> En ce qui concerne le lien de fibre optique, son coût est variable selon la disponibilité d’infrastructures de génie civil et la distance entre le NRA et le sous-répartiteur.</span><br />
<span style="font-size: x-small;"> Pour l’aménagement du site, le coût sera essentiellement lié à l’offre PRM de FT dont le tarif varie entre 30 000 et 50 000 euros pour plus de 80% des sous-répartiteurs éligibles.</span></p>
<p><span style="font-size: x-small;"><strong>foxyfox : Ma question est simple : ce sera pour quand ?</strong></span></p>
<p><span style="font-size: x-small;">L’offre PRM de FT sera publiée d’ici la fin du mois de juillet. Les commandes pourront être effectuées dès la publication de l’offre.</span></p>
<p><span style="font-size: x-small;"><strong>Antoinemuse : Combien de temps dure l’installation d’un NRA-MED en moyenne ?</strong></span></p>
<p><span style="font-size: x-small;">Les informations disponibles à ce jour montrent qu’il faut environ 10 mois entre la commande de l’offre et la mise en service du site de montée en débit.</span></p>
<p><span style="font-size: x-small;"><strong>f.hedin : pouquoi favoriser le cuivre de FT qui en tres mauvais etat alors que les solutions radio low-cost permettent d’offrir 10-30 Mbits sur une commune pour moins de 10 k !! nous avons déployé ces solutions sur le plateau du larzac (Herault) avec 300 clients connectés a 10Mbits et + sur la fibre de Covage ?</strong></span></p>
<p><span style="font-size: x-small;">L’ARCEP dans sa recommandation mentionne des technologies filaires telles que le FTTH, la boucle locale cuivre et le réseau câblé mais également les technlogies hertziennes telles que le Wimax, le Wifi ou le satellite.</span><br />
<span style="font-size: x-small;"> L’Autorité doit assurer une neutralité technologique et ne peut favoriser une technologie par rapport à une autre. Le choix de la technologie revient aux collectivités ou à leurs opérateurs aménageurs.</span></p>
<p><span style="font-size: x-small;"><strong>isithran : Bonjour, quelle solution technique a été retenue pour l’accès à la sous-boucle, la mono-injection, la bi-injection ou les deux ?</strong></span></p>
<p><span style="font-size: x-small;">Les 2 solutions sont retenues pour l’accès à la sous-boucle.</span><br />
<span style="font-size: x-small;"> La bi-injection est disponible depuis 1 an dans l’offre de FT. Mais aucune commande n’a été faite à ce jour pour cette solution.</span><br />
<span style="font-size: x-small;"> La mono-injection sera disponible à la fin du mois via l’offre PRM de France Telecom. Celle-ci semble susciter beaucoup plus d’intérêt de la part des collectivités</span></p>
<p><span style="font-size: x-small;"><strong>tony3310 : Qu’en est-il pour le VDSL2 ?<br />
guillaume : Il semblerait que le VDSL2 a été autorisé par l’Arcep : est-ce que cela signifie que les opérateurs vont pouvoir activer le VDSL2 d’ici la fin de l’été ?</strong></span></p>
<p><span style="font-size: x-small;">Il n’appartient pas à l’ARCEP de décider de l’utilisation du VDSL2 sur la boucle locale de FT.</span><br />
<span style="font-size: x-small;"> L’introduction de toute nouvelle technologie sur la boucle locale cuivre nécessite en fait une analyse des éventuelles perturbations vis à vis des technologies et équipements existants.</span><br />
<span style="font-size: x-small;"> A cet effet, l’ARCEP a mis en place un comité d’experts indépendant pour réaliser ces analyses.</span><br />
<span style="font-size: x-small;"> Concernant le VDSL2, les analyses sont en cours. Si les travaux se poursuivent sur le rythme actuel, on peut raisonnablement espérer son introduction sur la boucle locale de FT pour le début de l’année 2012.</span></p>
<p><span style="font-size: x-small;"><strong>Christophe : Bonjour, Peut-on, aujourd’hui, en l’État actuel des choses, demander à FT d’exploiter dans le cadre d’une MED une solution de déport de signaux. FT présente seulement la solution aménagement à la SR qui est un frein, à nos yeux, aux offres des FAI alternatifs. Merci pour votre rÉponse.</strong></span></p>
<p><span style="font-size: x-small;">La solution de déport de signaux est une solution technique d’injection de signaux DSL. A ce titre, elle fait actuellement l’objet d’une analyse par le comité d’experts.</span><br />
<span style="font-size: x-small;"> En tout état de cause, l’ARCEP n’interdit l’utilisation d’aucune technologie dès lors qu’elle est validée par le comité d’experts..</span></p>
<p><span style="font-size: x-small;"><strong>PhLC &#8211; CONCARNEAU : Pourquoi la « montée en débit » doit-elle être portée par une collectivité ? Y a-t-il une contribution financière à prévoir ?</strong></span></p>
<p><span style="font-size: x-small;">Tout d’abord, une opération de montée en débit concerne l’ensemble des lignes du sous-répartiteur et non un unique utilisateur.</span><br />
<span style="font-size: x-small;"> La demande ne peut donc être portée qu’au niveau d’un opérateur ou d’une collectivité.</span><br />
<span style="font-size: x-small;"> Ce ne seront pas les utilisateurs qui vont supporter individuellement le coût de la montée en débit.</span><br />
<span style="font-size: x-small;"> Comme indiqué précédemment, c’est la collectivité qui supportera in fine l’essentiel des coûts..</span></p>
<p><span style="font-size: x-small;"><strong>Nil Sanyas : Bonjour. L’ARCEP a-t-elle déjà fait des prévisions quant au nombre de foyers qui profiteront de la montée en débit ? De nombreuses collectivités locales ont-elle déjà montré leur intérêt ?</strong></span></p>
<p><span style="font-size: x-small;">On estime qu’en dehors des zones concernées par le déploiement du FttH, il y a environ 20 000 sous-répartiteurs potentiellement éligibles pour la montée en débit, soit plus de 3 millions de lignes&#8230;</span></p>
<p><span style="font-size: x-small;"><strong>Valentin : N’avez vous pas peur que le déploiement en tant que solution temporaire du VDSL ne se transforme en solution définitive à la montée en débit ?</strong></span></p>
<p><span style="font-size: x-small;">Comme on a pu l’indiquer à plusieurs reprises, le FttH est la solution la plus pérenne.</span><br />
<span style="font-size: x-small;"> La solution de VDSL2 pourrait présenter un intérêt en complément du FttH, notamment dans le cadre de la montée en débit.</span><br />
<span style="font-size: x-small;"> Nous rappelons que le VDSL2 n’est à ce jour pas encore validé par le comité d’experts..</span></p>
<p><span style="font-size: x-small;"><strong>gtaillandier : existe t’il un moyen de savoir si je suis éligible à cette montée en débit ?</strong></span></p>
<p><span style="font-size: x-small;">Les utilisateurs devront se tourner vers les opérateurs et les collectivités qui peuvent avoir accès aux informations précises sur l’éligibilité locale à la montée en débit.</span></p>
<p><span style="font-size: x-small;"><strong>Merci Antoine Samba et Thomas Hoarau. Le mot de la fin ?</strong></span></p>
<p><span style="font-size: x-small;">Pour aller plus loin, n’hésitez pas à consulter le <strong><a href="http://www.arcep.fr/uploads/tx_gspublication/guide-fibre-collectivites-juillet2011.pdf">guide sur la montée vers le très haut débit</a></strong> qui vient d’être publié par l’ARCEP et est disponible sur le site.</span><br />
<span style="font-size: x-small;"> Merci de votre participation nombreuse et enthousiaste !</span><br />
<span style="font-size: x-small;"> Nous n’avons pas pu répondre à l’ensemble des questions reçues (plusieurs centaines) et nous en sommes désolés.</span><br />
<span style="font-size: x-small;"> Nous espérons néanmoins avoir abordé l’essentiel des interrogations soulevées par ce sujet passionnant..</span></p></blockquote>
]]></content:encoded>
							<wfw:commentRss>http://www.ao6-labs.eu/2011/07/28/lancement-du-vdsl2-des-2012/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
							</item>
		<item>
		<title>Un theme Google+ pour les filles ( et les gens qui aiment le rose )</title>
		<link>http://www.ao6-labs.eu/2011/07/11/un-theme-google-pour-les-filles-et-les-gens-qui-aiment-le-rose/</link>
				<comments>http://www.ao6-labs.eu/2011/07/11/un-theme-google-pour-les-filles-et-les-gens-qui-aiment-le-rose/#comments</comments>
				<pubDate>Mon, 11 Jul 2011 12:12:26 +0000</pubDate>
		<dc:creator><![CDATA[AoSiX]]></dc:creator>
				<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Google plus]]></category>
		<category><![CDATA[pink]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://www.ao6-labs.eu/?p=66</guid>
				<description><![CDATA[Je vous ai concocté un thème Google+ pour les demoiselles et les dames qui aiment le rose &#038; le violet ! Pour l&#8217;utiliser, vous devez d&#8217;abord installer Stylish for Firefox ou Stylish for Chrome selon votre navigateur ! Ensuite, relancez votre navigateur ( pas obligatoire, mais c&#8217;est toujours mieux &#8230; ) puis rendez vous à&#8230; <a href="http://www.ao6-labs.eu/2011/07/11/un-theme-google-pour-les-filles-et-les-gens-qui-aiment-le-rose/">Lire l'article <span class="meta-nav">&#8594;</span></a>]]></description>
								<content:encoded><![CDATA[<p>Je vous ai concocté un thème Google+ pour les demoiselles et les dames qui aiment le rose &#038; le violet !</p>
<figure class="wp-caption thumbnail aligncenter" style="width: 500px;">
				<a href="http://userstyles.org/styles/50555/google-pink-style"><img alt="Google+ - Pink Style" src="http://userstyles.org/style_screenshots/50555_after.gif" title="Google+ - Pink Style" width="500" height="350" /></a>
				<figcaption class="wp-caption-text">Google+ - Pink Style</figcaption>
			</figure>
<p>Pour l&rsquo;utiliser, vous devez d&rsquo;abord installer <a href="https://addons.mozilla.org/en-US/firefox/addon/stylish/?src=external-userstyleshome">Stylish for Firefox</a> ou <a href="https://chrome.google.com/webstore/detail/fjnbnpbmkenffdnngjfgmeleoegfcffe">Stylish for Chrome</a> selon votre navigateur !</p>
<p>Ensuite, relancez votre navigateur ( pas obligatoire, mais c&rsquo;est toujours mieux &#8230; ) puis rendez vous à l&rsquo;adresse suivante <a href="http://userstyles.org/styles/50555/google-pink-style">http://userstyles.org/styles/50555/google-pink-style</a>.</p>
<p>Enfin cliquez sur le bouton <strong>Install with Stylish</strong>, puis aller sur <a href="https://plus.google.com">https://plus.google.com</a> pour admirer le résultat !</p>
<p>N’hésitez pas à me donner votre avis sur le thème <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
							<wfw:commentRss>http://www.ao6-labs.eu/2011/07/11/un-theme-google-pour-les-filles-et-les-gens-qui-aiment-le-rose/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
							</item>
		<item>
		<title>Travailler avec le SDK PHP de Facebook</title>
		<link>http://www.ao6-labs.eu/2011/07/07/travailler-avec-le-sdk-php-de-facebook/</link>
				<comments>http://www.ao6-labs.eu/2011/07/07/travailler-avec-le-sdk-php-de-facebook/#comments</comments>
				<pubDate>Thu, 07 Jul 2011 20:23:28 +0000</pubDate>
		<dc:creator><![CDATA[AoSiX]]></dc:creator>
				<category><![CDATA[Developpement]]></category>
		<category><![CDATA[access_token]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[offline_access]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://www.ao6-labs.eu/?p=67</guid>
				<description><![CDATA[Ce que nous allons faire dans ce tutoriel, c&#8217;est se connecter à facebook depuis votre site, récupérer quelques informations sur votre compte &#38; finalement, poster un petit message sur votre mur ! VOIR LA DEMO TELECHARGER LE CODE SOURCE ( .zip ) Etape 1 : L&#8217;application Facebook Commençons pour l&#8217;essentiel : Créer l&#8217;application sur Facebook&#8230; <a href="http://www.ao6-labs.eu/2011/07/07/travailler-avec-le-sdk-php-de-facebook/">Lire l'article <span class="meta-nav">&#8594;</span></a>]]></description>
								<content:encoded><![CDATA[<p>Ce que nous allons faire dans ce tutoriel, c&rsquo;est se connecter à facebook depuis votre site, récupérer quelques informations sur votre compte &amp; finalement, poster un petit message sur votre mur !</p>
<div class="aligncenter" style="text-align: center;"><a href="http://www.ao6-labs.eu/labo/facebook_sdk/index.php">VOIR LA DEMO</a><br />
<a href="http://www.ao6-labs.eu/labo/facebook_sdk/facebook_sdk_example.zip">TELECHARGER LE CODE SOURCE ( .zip )</a></div>
<h3>Etape 1 : L&rsquo;application Facebook</h3>
<p>Commençons pour l&rsquo;essentiel : Créer l&rsquo;application sur Facebook !</p>
<p>Pour ceci, vous devez bien sur disposer d&rsquo;un compte facebook, puis aller ici : <a href="https://developers.facebook.com/apps">https://developers.facebook.com/apps</a></p>
<p>En haut à droite vous devriez voir un bouton : « + Créer une application ». Cliquez dessus ( vraiment besoin de le préciser ? ), le formulaire est des plus basiques&#8230;un nom pour votre application, une langue, vous acceptez bien sur les Conditions d’utilisation de Facebook et vous valider le formulaire.</p>
<p>Vous tombez sur une page de présentation/modification de votre application. Dans la barre latérale de gauche, cliquez sur « Web », puis entrer dans les deux champs :</p>
<p><strong>1.</strong> L&rsquo;adresse de votre site ( exemple : http://www.ao6-labs.eu )<br />
<strong>2.</strong> Le domaine d&rsquo;utilisation ( exemple : ao6-labs.eu ; sans http et sans sous domaine !! )</p>
<p><strong>Congratulation</strong> vous venez de créer votre applications ! Gardez cette page de coté, c&rsquo;est ici que vous trouverez votre ID d&rsquo;application ainsi que votre clé secrète, que nous devrons fournir à la classe facebook.</p>
<p><span id="more-67"></span></p>
<h3>Etape 2 : Téléchargement du SDK &amp; mise en place de l&rsquo;environnement de travail</h3>
<figure id="attachment_68" class="wp-caption thumbnail alignleft" style="width: 150px;">
				<a href="http://www.ao6-labs.eu/wp-content/uploads/2011/07/download_phpsdk.png"><img class="size-thumbnail wp-image-68" title="Téléchargement du SDK PHP Facebook" src="http://www.ao6-labs.eu/wp-content/uploads/2011/07/download_phpsdk-150x150.png" alt="Téléchargement du SDK PHP Facebook" width="150" height="150" /></a>
				<figcaption class="wp-caption-text">Téléchargement du SDK PHP Facebook</figcaption>
			</figure>
<p>Pour cela, rendez vous sur sur github afin de télécharger <a href="https://github.com/facebook/php-sdk">le SDK PHP de Facebook</a>( voir image )</p>
<p>Une fois votre archive obtenu, nagivez à l&rsquo;interieur jusqu&rsquo;à trouver le dossier <strong>src</strong>. Desarchivez ce dossier, et mettez le à la racine de votre espace de travail ( on va pas faire ça propre, je vous confirez le soin d&rsquo;optimiser tout ça plus tard ! ).</p>
<p>Allez, commençons à coder !</p>
<p>&nbsp;</p>
<h3>Etape 3 : On ouvre l&rsquo;EDI !</h3>
<p>Que la fête commence ! Créons un fichier facebook_actions.php, qui globalement nous servira à faire tous les appels au SDK.</p>
<pre class="brush: php; title: facebook_actions.php; notranslate">
&lt;?php
require 'src/facebook.php';

// Vous trouverez de quoi remplacer les X et les Y dans la page que je vous ai recommander de garder de coté dans l'étape 1 !
define(&quot;FB_APP_ID&quot;,&quot;215765428467011&quot;);
define(&quot;FB_SECRET&quot;,&quot;fe3e635fb515889c4188bc65af9e3b87&quot;);

// on crée notre objet Facebook
$facebook = new Facebook(array(
      'appId'  =&gt; FB_APP_ID,
      'secret' =&gt; FB_SECRET,
      'cookie' =&gt; true,
));

// puis on tente de récuperer l'instance d'un éventuel utilisateur en cours
$currentUser = $facebook-&gt;getUser();

if($currentUser)
{
	try
	{
		$facebook_profile = $facebook-&gt;api('/me');
    }
	catch (FacebookApiException $e)
	{
		print_r($e);
		$user = null;
	}
}

// on récupère les URL de Login &amp; de Logout
//
// les scopes sont les autorisations spéciale, une liste est disponible ici :
// http://developers.facebook.com/docs/reference/api/permissions/
//
$loginUrl = $facebook-&gt;getLoginUrl(array('scope' =&gt; 'email,offline_access,publish_stream'));
$logoutUrl  = $facebook-&gt;getLogoutUrl();

//
// Poste sur le mur !
//

if(isset($_POST[&quot;status&quot;]) &amp;&amp; !empty($_POST[&quot;status&quot;]))
{
	try
	{
		$publishStream = $facebook-&gt;api(&quot;/$currentUser/feed&quot;, 'post', array(
		'message' =&gt; $_POST[&quot;status&quot;],
		'link'    =&gt; 'http://www.ao6-labs.eu/2011/07/07/travailler-avec-le-sdk-php-de-facebook/',
		'picture' =&gt; 'http://www.ao6-labs.eu/wp-content/uploads/2011/05/ao6labs.png',
		'name'    =&gt; 'www.Ao6-Labs.eu',
		'description'=&gt; 'Decouvrez notre tutorial à propos du SDK PHP de Facebook !'
		));
	}
	catch (FacebookApiException $e)
	{
		print_r($e);
	}

	header(&quot;Location: index.php?fbstatus=updated&quot;);
	exit();
}
</pre>
<p>Je pense que le code est assez commenté&#8230; et de manière générale plutôt clair, si ce n&rsquo;est pas le cas n’hésitez pas à poser vos questions en commentaire !</p>
<p>Nous allons maintenant passer au fichier index.php, celui ci inclura le fichier précédemment créé !</p>
<pre class="brush: php; title: index.php; notranslate">
&lt;?php
require 'facebook_actions.php';
?&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;
			Tutoriel : Utilisation du SDK PHP de Facebook
		&lt;/title&gt;
		&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
		&lt;style&gt;
			body
			{
				padding:30px;
			}
		&lt;/style&gt;
	&lt;/head&gt;
	&lt;body&gt;

&lt;h1&gt;Facebook php SDK @ &lt;a href=&quot;http://www.ao6-labs.eu&quot;&gt;www.ao6-labs.eu&lt;/a&gt;&lt;/h1&gt;

&lt;?php if($currentUser) : ?&gt;

	&lt;?php if($_GET[&quot;fbstatus&quot;]==&quot;updated&quot;) : ?&gt;
		&lt;span style=&quot;color:green; font-weight:bold;&quot;&gt;Votre status facebook a été modifié !&lt;/span&gt;
	&lt;?php endif; ?&gt;

	&lt;h2&gt;Infos à propos de ... vous ! &lt;/h2&gt;

	&lt;ul&gt;
	&lt;li&gt;Nom : &lt;?=$facebook_profile[&quot;name&quot;];?&gt;
	&lt;li&gt;Page Facebook : &lt;?=$facebook_profile[&quot;email&quot;];?&gt;
	&lt;li&gt;Email : &lt;?=$facebook_profile[&quot;name&quot;];?&gt;
	&lt;li&gt;Sexe : &lt;?=$facebook_profile[&quot;gender&quot;];?&gt;
	&lt;/ul&gt;

	&lt;h2&gt;Tableau complet des infos ( $facebook_profile )&lt;/h2&gt;
	&lt;pre&gt;
	&lt;?php print_r($facebook_profile); ?&gt;
	&lt;/pre&gt;

	&lt;h2&gt;Poster sur votre mur Facebook&lt;/h2&gt;

	&lt;p&gt;
		Donnez votre avis sur l'article par exemple !
	&lt;/p&gt;

	&lt;form method=&quot;post&quot;&gt;
		&lt;input type=&quot;text&quot; name=&quot;status&quot; value=&quot;&quot; placeholder=&quot;Votre message ici !&quot; /&gt;&lt;br /&gt;
		&lt;input type=&quot;submit&quot; value=&quot;Poster sur mon mur !&quot; /&gt;
	&lt;/form&gt;

&lt;?php else : ?&gt;

	Se connecter via Facebook &lt;br /&gt;
	&lt;a href=&quot;&lt;?=$loginUrl?&gt;&quot;&gt;&lt;img src=&quot;http://www.ao6-labs.eu/wp-content/uploads/2011/07/facebook-connect-logo1.jpg&quot;&gt;&lt;/a&gt;

&lt;?php endif; ?&gt;
&lt;/body&gt;
&lt;/html&gt;er via Facebook &lt;br /&gt;
&lt;a href=&quot;&lt;?=$loginUrl?&gt;&quot;&gt;&lt;img src=&quot;http://www.ao6-labs.eu/wp-content/uploads/2011/07/facebook-connect-logo1.jpg&quot;&gt;&lt;/a&gt;

&lt;?php endif; ?&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Ici c&rsquo;est que de l&rsquo;affichage, donc rien de bien sorcier !</p>
<p>Voilà, avec ça vous avez les bases pour récupérer les informations d&rsquo;une personne, et même poster sur son mur !</p>
<h3>BONUS : Exploiter le mode offline !</h3>
<p>Dans le scope, vous remarquerez que je demande la permission <strong><em>offline_access</em></strong>. Grace à cela, l&rsquo;utilisateur ne doit se connecter qu&rsquo;une seule et unique fois pour que je puisse utiliser l&rsquo;API Facebook en son nom.</p>
<p>C&rsquo;est super dans le sens où, l&rsquo;utilisateur n&rsquo;est pas obligé de repasser par une connexion Facebook à chaque fois que mon application doit poster sur sur mur par exemple. D&rsquo;un autre coté, rien ne m&#8217;empêche de faire un post en son nom sans même qu&rsquo;il ai à intervenir ! Mais je ne suis pas là pour vous donner des leçon de bonne conduite, à vos d&rsquo;être raisonnable ( sachez que Facebook n&rsquo;aiment pas du tout quand un utilisateur se plains de spam&#8230; vous pourriez vous faire taper sur les doigts ! )</p>
<p>Alors, comment faire ?</p>
<p>Lors de la connexion de l&rsquo;utilisateur ( correspond à n&rsquo;importe quel <strong>if($currentUser)</strong> valide ), ajouter le code suivant :</p>
<pre class="brush: php; title: ; notranslate">$access_token = $facebook-&gt;getAccessToken()</pre>
<p>puis stocker le dans votre base de donnée par exemple, associé à votre client !</p>
<p>Puis lorsque vous faites appel à une méthode de l&rsquo;API Facebook, ajoutez le paramètre suivant :</p>
<pre class="brush: php; title: ; notranslate">
&quot;access_token&quot;=&gt;$access_token
</pre>
<p>la partie post sur Facebook de mon fichier facebook_actions pourrait devenir :</p>
<pre class="brush: php; title: ; notranslate">
		$publishStream = $facebook-&gt;api(&quot;/$currentUser/feed&quot;, 'post', array(
                'access_token' =&gt;  $facebook-&gt;getAccessToken(),
		'message' =&gt; $_POST[&quot;status&quot;],
		'link'    =&gt; 'http://www.ao6-labs.eu/2011/07/07/travailler-avec-le-sdk-php-de-facebook/',
		'picture' =&gt; 'http://www.ao6-labs.eu/wp-content/uploads/2011/05/ao6labs.png',
		'name'    =&gt; 'www.Ao6-Labs.eu',
		'description'=&gt; 'Decouvrez notre tutorial à propos du SDK PHP de Facebook !'
		));
</pre>
<p>Mais étant donné que je ne stocke rien dans ce test, l&rsquo;access_token ne me sert pas ( je pourrais même retirer le offline_access à vrai dire ).</p>
<h3>Conclusion</h3>
<p>Voilà pour ce tutoriel, j&rsquo;ai pas l&rsquo;habitude d&rsquo;écrire autant, j’espère avoir été assez didactique et je reste à votre disposition via les commentaires pour toute questions !</p>
<div class="aligncenter" style="text-align: center;"><a href="http://www.ao6-labs.eu/labo/facebook_sdk/index.php">VOIR LA DEMO</a><br />
<a href="http://www.ao6-labs.eu/labo/facebook_sdk/facebook_sdk_example.zip">TELECHARGER LE CODE SOURCE ( .zip )</a></div>
]]></content:encoded>
							<wfw:commentRss>http://www.ao6-labs.eu/2011/07/07/travailler-avec-le-sdk-php-de-facebook/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
							</item>
		<item>
		<title>Google+ : Premiers pas &#038; invitations</title>
		<link>http://www.ao6-labs.eu/2011/07/01/google-plus-premiers-pas-et-invitations/</link>
				<comments>http://www.ao6-labs.eu/2011/07/01/google-plus-premiers-pas-et-invitations/#comments</comments>
				<pubDate>Fri, 01 Jul 2011 09:53:49 +0000</pubDate>
		<dc:creator><![CDATA[AoSiX]]></dc:creator>
				<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Google plus]]></category>
		<category><![CDATA[invitations]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.ao6-labs.eu/?p=40</guid>
				<description><![CDATA[J&#8217;ai eu le privilège de faire partir des premiers terriens à tester Google plus ! Et sincèrement, je suis conquis&#8230;. On pouvait s&#8217;y attendre de la part d&#8217;un fan de Google, mais là c&#8217;est plus que ça, l&#8217;interface est clean, les options de confidentialités sont simples à gérer et facile d&#8217;accès, pas besoin de cherche&#8230; <a href="http://www.ao6-labs.eu/2011/07/01/google-plus-premiers-pas-et-invitations/">Lire l'article <span class="meta-nav">&#8594;</span></a>]]></description>
								<content:encoded><![CDATA[<p>J&rsquo;ai eu le privilège de faire partir des premiers terriens à tester Google plus ! Et sincèrement, je suis conquis&#8230;.</p>
<p>On pouvait s&rsquo;y attendre de la part d&rsquo;un fan de Google, mais là c&rsquo;est plus que ça, l&rsquo;interface est clean, les options de confidentialités sont simples à gérer et facile d&rsquo;accès, pas besoin de cherche partout auprès de celles ci, elles  sont accessible directement sur CHAQUE éléments !</p>
<figure id="attachment_41" class="wp-caption thumbnail aligncenter" style="width: 480px;">
				<a href="http://www.ao6-labs.eu/wp-content/uploads/2011/07/g+_scr1.png"><img src="http://www.ao6-labs.eu/wp-content/uploads/2011/07/g+_scr1-1024x698.png" alt="Google plus : Screenshot 1" title="Google plus : Screenshot 1" width="480" height="327" class="size-large wp-image-41" /></a>
				<figcaption class="wp-caption-text">L'interface est claire, pro, si on est habitué à Facebook on ne se perd pas.</figcaption>
			</figure>
<p>La particularité de Google+, c&rsquo;est que nous sommes invité d&rsquo;entrée de jeu à trier nos contact dans des cercles ( un cercle = un groupe de contact ). Nous pouvons ensuite choisir de montrer un post à tel et tel cercle, un album de photo à tout le monde sauf au cercle patron, ect ect&#8230;</p>
<figure id="attachment_46" class="wp-caption thumbnail alignleft" style="width: 150px;">
				<a href="http://www.ao6-labs.eu/wp-content/uploads/2011/07/g+_scr2.png"><img src="http://www.ao6-labs.eu/wp-content/uploads/2011/07/g+_scr2-150x150.png" alt="Google Plus : Screenshot 2" title="Google Plus : Screenshot 2" width="150" height="150" class="size-thumbnail wp-image-46" /></a>
				<figcaption class="wp-caption-text">Choix des personnes qui verrons nos posts</figcaption>
			</figure>
<p>Les niveau de visibilités sont les suivants :</p>
<ul>
<li>Moi uniquement = Je poste juste pour moi
<li>Choix par personnes = je montre à X et Y )
<li>Choix par cercles = je montre au cercle A et au cercle B
<li>Tous les cercles = Tous mes contacts
<li>Cercles Étendu = Visible par mes cercles et leurs cercles
<li>Tout le monde = Visible de tous !
</ul>
<p><br style="clear: both;" /></p>
<h3>Bref, vous voulez essayer ?</h3>
<p>Si oui, laissez moi un commentaire en remplissant comme il faut le champs email, et je vous ferai parvenir des invitations !</p>
]]></content:encoded>
							<wfw:commentRss>http://www.ao6-labs.eu/2011/07/01/google-plus-premiers-pas-et-invitations/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
							</item>
	</channel>
</rss>
