<?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>Leeroy Brun - web &#38; more</title>
	<atom:link href="http://leeroy.kodingen.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://leeroy.kodingen.com/blog</link>
	<description>Un site utilisant WordPress</description>
	<lastBuildDate>Wed, 08 Jun 2011 09:56:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Demander à l&#8217;utilisateur d&#8217;entrer des informations dans un script Bash</title>
		<link>http://leeroy.kodingen.com/blog/developpement/demander-a-lutilisateur-dentrer-des-informations-dans-un-script-bash/</link>
		<comments>http://leeroy.kodingen.com/blog/developpement/demander-a-lutilisateur-dentrer-des-informations-dans-un-script-bash/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 17:36:18 +0000</pubDate>
		<dc:creator>leeroy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[prompt]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">/blog/?p=1012</guid>
		<description><![CDATA[Vous souhaitez utiliser des informations entrées par un utilisateur à l&#8217;exécution d&#8217;un script bash ? Rien de plus simple ! Comme vous pouvez le voir, il vous suffit d&#8217;utiliser la commande read suivie du nom de la variable dans laquelle &#8230; <a href="http://leeroy.kodingen.com/blog/developpement/demander-a-lutilisateur-dentrer-des-informations-dans-un-script-bash/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Vous souhaitez utiliser des informations entrées par un utilisateur à l&#8217;exécution d&#8217;un script bash ? Rien de plus simple !<span id="more-1012"></span></p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash
echo &quot;Veuillez entrer votre prenom :&quot;
read first_name
echo &quot;Bonjour $first_name.&quot;
exit 0</pre>
<p>Comme vous pouvez le voir, il vous suffit d&#8217;utiliser la commande <em>read</em> suivie du nom de la variable dans laquelle stocker l&#8217;information. <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://leeroy.kodingen.com/blog/developpement/demander-a-lutilisateur-dentrer-des-informations-dans-un-script-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Récupérer un nom et un prénom aléatoire en Bash</title>
		<link>http://leeroy.kodingen.com/blog/linux/recuperer-un-nom-et-un-prenom-aleatoire-en-bash/</link>
		<comments>http://leeroy.kodingen.com/blog/linux/recuperer-un-nom-et-un-prenom-aleatoire-en-bash/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 19:19:03 +0000</pubDate>
		<dc:creator>leeroy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[aléatoire]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[nom]]></category>
		<category><![CDATA[prenom]]></category>

		<guid isPermaLink="false">/blog/?p=855</guid>
		<description><![CDATA[Voici une autre astuce qui peut s&#8217;avérer très pratique dans certains cas : récupérer un nom et un prénom aléatoire en Bash grâce à quelques fonctions indispensables ! Comment allons-nous procéder ? Nous allons utiliser un service web qui va &#8230; <a href="http://leeroy.kodingen.com/blog/linux/recuperer-un-nom-et-un-prenom-aleatoire-en-bash/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Voici une autre astuce qui peut s&#8217;avérer très pratique dans certains cas : récupérer un nom et un prénom aléatoire en Bash grâce à quelques fonctions indispensables !</p>
<p><span id="more-855"></span></p>
<h3>Comment allons-nous procéder ?</h3>
<p>Nous allons utiliser un service web qui va se charger de nous générer le nom et prénom aléatoire que nous extrairons ensuite pour les avoir dans deux variables distinctes.</p>
<h3>Récupération du nom et prénom aléatoire</h3>
<p>Commençons donc pas le commencement, la récupération du contenu retourné par le service web (disponible à cette adresse : <a href="http://www.thenamegenerator.com/nameGeneratorHandler.php?g=m" target="_blank">http://www.thenamegenerator.com/nameGeneratorHandler.php?g=m</a>) :</p>
<pre class="brush: bash; title: ; notranslate">result=$(curl &quot;http://www.thenamegenerator.com/nameGeneratorHandler.php?g=m&quot;)</pre>
<p>Ajoutons y maintenant la séparation du nom et du prénom à l&#8217;aide d&#8217;un <em>grep</em>.</p>
<p>Nous allons simplement lui dire de ne récupérer que les chaines de caractères alphanumériques (chiffres et nombres), il les séparera ensuite par des retours à la ligne :</p>
<pre class="brush: bash; title: ; notranslate">result=$(curl &quot;http://www.thenamegenerator.com/nameGeneratorHandler.php?g=m&quot; | grep &quot;[[:alnum:]]*&quot; -o)</pre>
<h3>Séparation en deux variables</h3>
<p>Il ne nous reste maintenant plus qu&#8217;à séparer notre nom et prénom en deux variables à l&#8217;aide d&#8217;un <em>cut</em>.</p>
<p>Nous allons couper la chaine $result à chaque retour à la ligne et placer le deuxième (-f2) et troisième (-f3) résultat dans des variables séparées (le retour à la ligne après <em>-d &laquo;&nbsp;</em> est nécessaire, si vous l&#8217;enlevez ça ne fonctionnera plus <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ) :</p>
<pre class="brush: bash; title: ; notranslate">firstName=$(echo &quot;$result&quot; | cut -d&quot;
&quot; -f2)
lastName=$(echo &quot;$result&quot; | cut -d&quot;
&quot; -f3)</pre>
<p>Et voilà ! Le tour est joué !</p>
<h3>Code final</h3>
<pre class="brush: bash; title: ; notranslate">result=$(curl &quot;http://www.thenamegenerator.com/nameGeneratorHandler.php?g=m&quot; | grep &quot;[[:alnum:]]*&quot; -o)

firstName=$(echo &quot;$result&quot; | cut -d&quot;
&quot; -f2)
lastName=$(echo &quot;$result&quot; | cut -d&quot;
&quot; -f3)

echo &quot;Prenom : $firstName&quot;
echo &quot;Nom : $lastName&quot;</pre>
<h3>Et s on plaçait tout ça dans un fichier exécutable ?</h3>
<p>Rien de plus simple !</p>
<p>Créez un nouveau fichier où bon vous semble :</p>
<pre class="brush: bash; title: ; notranslate">cd /ou/bon/vous/semble/
nano randomName.sh</pre>
<p>Placez-y ceci à l&#8217;intérieur (notez l&#8217;ajout de <strong>#!/bin/bash</strong> au début afin que le système l&#8217;execute comme un script bash et de <strong>exit 0</strong> à la fin pour signaler au système que l&#8217;execution du script est terminée) :</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash

result=$(curl &quot;http://www.thenamegenerator.com/nameGeneratorHandler.php?g=m&quot; | grep &quot;[[:alnum:]]*&quot; -o)

firstName=$(echo &quot;$result&quot; | cut -d&quot;
&quot; -f2)
lastName=$(echo &quot;$result&quot; | cut -d&quot;
&quot; -f3)

echo &quot;Prenom : $firstName&quot;
echo &quot;Nom : $lastName&quot;

exit 0</pre>
<p>Fermez le fichier (Ctrl + O et Ctrl + X).</p>
<p>Et pour finir rendez-le exécutable :</p>
<pre class="brush: bash; title: ; notranslate">chmod 755 randomName.sh</pre>
<p>Il ne vous reste plus qu&#8217;à l&#8217;exécuter et à admirer le résultat !</p>
<pre class="brush: bash; title: ; notranslate">./randomName.sh</pre>
<p>Enjoy ! <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Liens utiles</h3>
<ul>
<li><a href="http://www.thenamegenerator.com/" target="_blank">http://www.thenamegenerator.com/</a></li>
</ul>
<h3>Remerciements</h3>
<p>Merci à <a href="http://blog.lamatricexiste.info/" target="_blank">Rorist</a> pour le lien vers le service web <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://leeroy.kodingen.com/blog/linux/recuperer-un-nom-et-un-prenom-aleatoire-en-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Générer un nombre aléatoire compris entre deux valeurs en Bash</title>
		<link>http://leeroy.kodingen.com/blog/linux/generer-un-nombre-aleatoire-compris-entre-deux-valeurs-en-bash/</link>
		<comments>http://leeroy.kodingen.com/blog/linux/generer-un-nombre-aleatoire-compris-entre-deux-valeurs-en-bash/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 17:42:39 +0000</pubDate>
		<dc:creator>leeroy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[aléatoire]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[nombre]]></category>

		<guid isPermaLink="false">/blog/?p=856</guid>
		<description><![CDATA[Voici un petit bout de code bien pratique qui vous permet de générer un nombre aléatoire compris entre deux valeurs choisies. Nous verrons aussi un exemple pratique d&#8217;utilisation avec la génération d&#8217;une date de naissance aléatoire ! Tout d&#8217;abord, voici &#8230; <a href="http://leeroy.kodingen.com/blog/linux/generer-un-nombre-aleatoire-compris-entre-deux-valeurs-en-bash/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Voici un petit bout de code bien pratique qui vous permet de générer un nombre aléatoire compris entre deux valeurs choisies.</p>
<p>Nous verrons aussi un exemple pratique d&#8217;utilisation avec la génération d&#8217;une date de naissance aléatoire !</p>
<p><span id="more-856"></span>Tout d&#8217;abord, voici le code en <em>version longue</em> qui va générer un nombre aléatoire compris entre 100 et 200 :</p>
<pre class="brush: bash; title: ; notranslate">min=100
max=200
number=$[($RANDOM % ($[$max - $min] + 1)) + $min]
echo $number</pre>
<p>Il peut aussi être écrit en <em>version courte</em> :</p>
<pre class="brush: bash; title: ; notranslate">echo $[($RANDOM % ($[200 - 100] + 1)) + 100]</pre>
<p>Voilà ! Rien de bien compliqué ici : la fonction <em>$RANDOM</em> native de BASH va générer un nombre pseudo aléatoire entre 0 et 32767 qui va ensuite être modifié par des opérations mathématiques pour donner notre nombre aléatoire !</p>
<h3>Génération d&#8217;une date de naissance aléatoire</h3>
<p>Voyons maintenant comment générer une date de naissance aléatoire grâce à notre petite formule.</p>
<p>Commençons par le plus facile, l&#8217;année et le mois. Il suffit de reprendre la formule présentée ci-dessus et d&#8217;y modifier les valeurs minimales et maximales :</p>
<pre class="brush: bash; title: ; notranslate">yearMin=1900
yearMax=2008
year=$[($RANDOM % ($[$yearMax - $yearMin] + 1)) + $yearMin]
month=$[($RANDOM % ($[12 - 1] + 1)) + 1]</pre>
<p><strong>Et pour le jour alors ?</strong></p>
<p>C&#8217;est déjà un peu plus compliqué, il faut connaître le dernier jour du mois (pour le max de notre formule) et il peut-être le 31, le 30, le 29 ou même le 28 !</p>
<p>Heureusement que, étant des lecteurs assidus de Tavuu.net, vous avez lu le dernier article intitulé &laquo;&nbsp;<a href="/blog/linux/trouver-le-dernier-jour-dun-mois-en-bash/">Trouver le dernier jour d’un mois en bash !</a>&laquo;&nbsp;.</p>
<p>Il nous suffit donc de reprendre la formule présentée dans cet article et de l&#8217;adapter à notre code (tiens, c&#8217;est drôle, les variables correspondent déjà :-°) :</p>
<pre class="brush: bash; title: ; notranslate">lastMonthDay=$(date -d &quot;$year-$month-01 +1 month -1 day&quot; +%d)</pre>
<p>Il ne nous reste plus qu&#8217;à générer notre jour aléatoire :</p>
<pre class="brush: bash; title: ; notranslate">day=$[($RANDOM % ($[$lastMonthDay - 1] + 1)) + 1]</pre>
<p>Vous pouvez ensuite afficher votre date comme bon vous semble :</p>
<pre class="brush: bash; title: ; notranslate">echo &quot;$day/$month/$year&quot;</pre>
<h3>Code final</h3>
<p>Ce qui nous donne au final :</p>
<pre class="brush: bash; title: ; notranslate">yearMin=1900
yearMax=2008
year=$[($RANDOM % ($[$yearMax - $yearMin] + 1)) + $yearMin]
month=$[($RANDOM % ($[12 - 1] + 1)) + 1]
day=$[($RANDOM % ($[$lastMonthDay - 1] + 1)) + 1]
echo &quot;$day/$month/$year&quot;</pre>
<h3>Source</h3>
<ul>
<li><a href="http://www.somekindofpaper.info/articles/2009/10/18/random-number-with-bash-scripting.html" target="_blank">http://www.somekindofpaper.info/articles/2009/10/18/random-number-with-bash-scripting.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://leeroy.kodingen.com/blog/linux/generer-un-nombre-aleatoire-compris-entre-deux-valeurs-en-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Géolocalisation de vos visiteurs en Javascript grâce à HTML 5 !</title>
		<link>http://leeroy.kodingen.com/blog/decouvertes/geolocalisation-de-vos-visiteurs-en-javascript-grace-a-html-5/</link>
		<comments>http://leeroy.kodingen.com/blog/decouvertes/geolocalisation-de-vos-visiteurs-en-javascript-grace-a-html-5/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 04:19:22 +0000</pubDate>
		<dc:creator>leeroy</dc:creator>
				<category><![CDATA[Découvertes]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[geolocalisation]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[localisation]]></category>

		<guid isPermaLink="false">/blog/?p=917</guid>
		<description><![CDATA[Voici une découverte intéressante qui vous permettra de géolocaliser vos visiteurs en Javascript sans bibliothèque supplémentaire, directement grâce aux nouvelles spécifications du W3C qui ont été intégrées à Firefox 3.5, Fjennec (version mobile de Firefox) et même dans l&#8217;iPhone ! &#8230; <a href="http://leeroy.kodingen.com/blog/decouvertes/geolocalisation-de-vos-visiteurs-en-javascript-grace-a-html-5/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Voici une découverte intéressante qui vous permettra de géolocaliser vos visiteurs en Javascript sans bibliothèque supplémentaire, directement grâce aux <a href="http://dev.w3.org/geo/api/spec-source.html" target="_blank">nouvelles spécifications du W3C</a> qui ont été intégrées à Firefox 3.5, Fjennec (version mobile de Firefox) et même dans <strong>l&#8217;iPhone</strong> !</p>
<p><img style="float: right; margin-left: 15px;" src="/blog/wp-content/uploads/2009/11/google-maps-location-button1.jpg" alt="Localiser sa position sur Google Maps" /></p>
<p>Cette fonctionnalité a notamment été intégrée à Google Maps. Pour la tester, rendez-vous sur Google Maps (<a href="http://maps.google.com/" target="_blank">http://maps.google.com/</a>) et cliquez simplement sur le petit bouton à droite de la carte, entre les flèches de navigation et le bonhomme de Street View.</p>
<p><span id="more-917"></span></p>
<h3>Comment ça marche ?</h3>
<p>Le navigateur va demander la permission à l&#8217;utilisateur (via une barre affichée en dessous des onglets sous Firefox) de récupérer différentes informations concernant sa position actuelle (adresse IP, réseaux WiFi dans les environs, etc) et va ensuite les envoyer à un service de géolocalisation, dans le cas de Firefox, à Google Location Services.</p>
<p>Google Location Services renvoie alors une estimation de géolocalisation (par ex. la latitude et la longitude).</p>
<p>Suivant votre position actuelle cela peut-être très précis ou pas du tout.</p>
<p>Par exemple dans mon cas lorsque je test ça au travail, je suis localisé <strong>exactement</strong> au bon endroit (à quelque mètres près). Quand je suis chez moi, par contre, la différence est plutôt de quelques kilomètres. <a href="http://blog.lamatricexiste.info/" target="_blank">Un ami</a> m&#8217;a même rapporté une différence de <strong>plusieurs centaines de kilomètres</strong> dans son cas !</p>
<p>Le fonctionnement est un peu différent pour ce qui est de l&#8217;iPhone, le navigateur (Safari) va ici utiliser directement le GPS intégré pour localiser l&#8217;utilisateur ! C&#8217;est donc beaucoup plus précis !</p>
<p>Si vous souhaitez plus d&#8217;informations, n&#8217;hésitez pas à consulter la page de Mozilla consacrée à ce sujet : <a href="http://fr.www.mozilla.com/fr/firefox/geolocation/" target="_blank">http://fr.www.mozilla.com/fr/firefox/geolocation/</a></p>
<h3>Et tout ça dans HTML 5 ?</h3>
<p>Pour les plus curieux (et anglophones) vous pouvez allez lire les spécifications du W3C concernant cette fonctionnalité à cette adresse : <a href="http://dev.w3.org/geo/api/spec-source.html" target="_blank">http://dev.w3.org/geo/api/spec-source.html</a>.</p>
<h3>Comment on fait ?</h3>
<p>Rien de plus simple&#8230; Mozilla a même publié une page dans son Wiki pour en expliquer le fonctionnement : <a href="https://developer.mozilla.org/En/Using_geolocation" target="_blank">https://developer.mozilla.org/En/Using_geolocation</a></p>
<p>Prenons un exemple tout simple où nous allons simplement afficher la position (latitude, longitude et altitude) du visiteur.</p>
<p>Il faut tout d&#8217;abord commencer par vérifier si la géolocalisation est disponible :</p>
<pre class="brush: jscript; title: ; notranslate">if(navigator.geolocation)
{
// La géolocalisation est possible !
}</pre>
<p>Nous allons ensuite, si la géolocalisation est possible, créer un bouton sur la page web pour permettre au visiteur de lancer la localisation :</p>
<pre class="brush: jscript; title: ; notranslate">            // Création d'un bouton dans le DIV qui a pour ID &quot;locateme&quot; pour lancer la localisation
var startGeolocationButton = document.createElement('input');
startGeolocationButton = document.getElementById('locateme').appendChild(startGeolocationButton);
startGeolocationButton.setAttribute('type', 'button');
startGeolocationButton.setAttribute('value', 'Localise-moi !');</pre>
<p>Nous allons maintenant définir ce qui se passera au moment où l&#8217;utilisateur va cliquer sur le bouton. Nous allons exécuter la fonction &laquo;&nbsp;<em><strong>navigator.geolocation.getCurrentPosition</strong></em>&nbsp;&raquo; et lui passer en paramètre la fonction de callback vers laquelle envoyer les informations sur la position actuelle du visiteur.</p>
<p><em><strong>Information : </strong></em>Ce que j&#8217;ai fait ici n&#8217;est pas très propre, mais pour ne pas compliquer le code avec des vérifications de compatibilité je vais directement définir l&#8217;attribut &laquo;&nbsp;<em>onclick</em>&nbsp;&raquo; de notre bouton sans utiliser d&#8217;<em>event listener</em>.</p>
<pre class="brush: jscript; title: ; notranslate">           startGeolocationButton.setAttribute('onclick', 'navigator.geolocation.getCurrentPosition(locateMe);');</pre>
<p>Créons maintenant notre fonction <em>locateMe()</em> qui va s&#8217;occuper d&#8217;afficher la position actuelle du visiteur.</p>
<p>Cette fonction a besoin d&#8217;un seul paramètre, ce sera un objet contenant les informations sur la position actuelle du visiteur :</p>
<pre class="brush: jscript; title: ; notranslate">      function locateMe(position)
{
// Affichage des informations de position
}</pre>
<p>Il ne nous reste plus qu&#8217;à afficher la position via les variables suivantes :</p>
<ul>
<li><strong>position.coords.latitude : </strong> La latitude</li>
<li><strong>position.coords.longitude : </strong> La longitude</li>
<li><strong>position.coords.altitude : </strong> L&#8217;altitude</li>
</ul>
<p>Ce qui peut donner par exemple :</p>
<pre class="brush: jscript; title: ; notranslate">           alert('Latitude : '+ position.coords.latitude+'n'+
'Longitude : '+position.coords.longitude+'n'+
'Altitude : '+position.coords.altitude);</pre>
<p>N&#8217;oubliez pas d&#8217;ajouter un div avec pour ID &laquo;&nbsp;locateme&nbsp;&raquo; quelque part dans votre page web et de placer le code Javascript après celui-ci (<a href="#finalcode">exemple</a>) !</p>
<pre class="brush: xml; title: ; notranslate">
</pre>
<h3>Et la lumière fut !</h3>
<p><script type="text/javascript">// <![CDATA[
     if(navigator.geolocation)
     {
           // La géolocalisation est possible !
           // Création d'un bouton dans le DIV qui a pour ID "locateme" pour lancer la localisation
           var startGeolocationButton = document.createElement('input');
           startGeolocationButton = document.getElementById('locateme').appendChild(startGeolocationButton);
           startGeolocationButton.setAttribute('type', 'button');
           startGeolocationButton.setAttribute('value', 'Localise-moi !');
           // On ajoute un attribut "onclick". Pas très propre comme ça, mais ça fonctionne dans la plupart des navigateurs.
           // Auc clic sur le bouton, on execute la fonction "navigator.geolocation.getCurrentPosition" et on lui passe en paramètre la fonction de callback vers laquelle envoyer les informations.
           startGeolocationButton.setAttribute('onclick', 'navigator.geolocation.getCurrentPosition(locateMe);');
     }
     // Affichage des informations de géolocalisation
     function locateMe(position)
     {
           alert('Latitude : '+ position.coords.latitude+'n'+
 'Longitude : '+position.coords.longitude+'n'+
 'Altitude : '+position.coords.altitude);
     }
// ]]&gt;</script></p>
<h3 id="finalcode">Code final</h3>
<p>Voici donc le code final de cet exemple :</p>
<pre class="brush: xml; title: ; notranslate">

&lt;script type=&quot;text/javascript&quot;&gt;// &lt;![CDATA[
     if(navigator.geolocation)
     {
           // La géolocalisation est possible !
           // Création d'un bouton dans le DIV qui a pour ID &quot;locateme&quot; pour lancer la localisation
           var startGeolocationButton = document.createElement('input');
           startGeolocationButton = document.getElementById('locateme').appendChild(startGeolocationButton);
           startGeolocationButton.setAttribute('type', 'button');
           startGeolocationButton.setAttribute('value', 'Localise-moi !');
           // On ajoute un attribut &quot;onclick&quot;. Pas très propre comme ça, mais ça fonctionne dans la plupart des navigateurs.
           // Auc clic sur le bouton, on execute la fonction &quot;navigator.geolocation.getCurrentPosition&quot; et on lui passe en paramètre la fonction de callback vers laquelle envoyer les informations.
           startGeolocationButton.setAttribute('onclick', 'navigator.geolocation.getCurrentPosition(locateMe);');
     }
     // Affichage des informations de géolocalisation
     function locateMe(position)
     {
           alert('Latitude : '+ position.coords.latitude+'n'+
 'Longitude : '+position.coords.longitude+'n'+
 'Altitude : '+position.coords.altitude);
     }
// ]]&gt;&lt;/script&gt;</pre>
<p>Enjoy ! <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Sources et liens utiles</h3>
<ul>
<li><a href="http://fr.www.mozilla.com/fr/firefox/geolocation/" target="_blank">http://fr.www.mozilla.com/fr/firefox/geolocation/</a></li>
<li><a href="http://dev.w3.org/geo/api/spec-source.html" target="_blank">http://dev.w3.org/geo/api/spec-source.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://leeroy.kodingen.com/blog/decouvertes/geolocalisation-de-vos-visiteurs-en-javascript-grace-a-html-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trouver le dernier jour d&#8217;un mois en bash !</title>
		<link>http://leeroy.kodingen.com/blog/linux/trouver-le-dernier-jour-dun-mois-en-bash/</link>
		<comments>http://leeroy.kodingen.com/blog/linux/trouver-le-dernier-jour-dun-mois-en-bash/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 18:00:29 +0000</pubDate>
		<dc:creator>leeroy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[dernier jour]]></category>

		<guid isPermaLink="false">/blog/?p=883</guid>
		<description><![CDATA[Voici une astuce bien pratique qui en sauvera plus d&#8217;un des maux de tête ! Nous allons voir comment trouver le dernier jour d&#8217;un mois en bash grâce à la fonction date et un peu de bidouille ! Abracadabra ! &#8230; <a href="http://leeroy.kodingen.com/blog/linux/trouver-le-dernier-jour-dun-mois-en-bash/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Voici une astuce bien pratique qui en sauvera plus d&#8217;un des maux de tête !</p>
<p>Nous allons voir comment trouver le dernier jour d&#8217;un mois en bash grâce à la fonction date et un peu de bidouille !</p>
<p><span id="more-883"></span></p>
<h3>Abracadabra !</h3>
<pre class="brush: bash; title: ; notranslate">year=2009
month=02
date -d &quot;$year-$month-01 +1 month -1 day&quot; +%d</pre>
<p>C&#8217;est bien sûr aussi possible en une seule ligne :</p>
<pre class="brush: bash; title: ; notranslate">date -d &quot;2009-02-01 +1 month -1 day&quot; +%d</pre>
<h3>Comment ça marche ?</h3>
<p>La fonction <em>date</em> de bash permet d&#8217;afficher la date et l&#8217;heure actuelle du système, mais elle permet aussi d&#8217;afficher/modifier/traiter la date donnée en paramètre.</p>
<p>Ce que nous faisons ici est très simple : on lui donne le premier jour du mois dont on veux connaître le dernier jour (01.02.2009 ici), on dit ensuite à la fonction <em>date</em> d&#8217;ajouter un mois à cette date (ce qui donne 01.03.2009) puis d&#8217;enlever 1 jour (28.02.2009).</p>
<p>Enjoy ! <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://leeroy.kodingen.com/blog/linux/trouver-le-dernier-jour-dun-mois-en-bash/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Utiliser l&#8217;éditeur de texte (WYSIWYG) de WordPress dans vos plugins !</title>
		<link>http://leeroy.kodingen.com/blog/developpement/utiliser-editeur-de-texte-wysiwyg-de-wordpress-dans-vos-plugins/</link>
		<comments>http://leeroy.kodingen.com/blog/developpement/utiliser-editeur-de-texte-wysiwyg-de-wordpress-dans-vos-plugins/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 21:26:23 +0000</pubDate>
		<dc:creator>leeroy</dc:creator>
				<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">/blog/?p=822</guid>
		<description><![CDATA[J&#8217;en avais besoin pour mon plugin &#171;&#160;Comments Winners&#160;&#187; (qui devrait bientôt faire son apparition sur vos écrans). J&#8217;ai donc farfouillé dans le code WordPress pour voir comment ils le faisaient pour la gestion des articles et, au final, c&#8217;est plutôt &#8230; <a href="http://leeroy.kodingen.com/blog/developpement/utiliser-editeur-de-texte-wysiwyg-de-wordpress-dans-vos-plugins/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>J&#8217;en avais besoin pour mon plugin &laquo;&nbsp;Comments Winners&nbsp;&raquo; (qui devrait bientôt faire son apparition sur vos écrans).</p>
<p>J&#8217;ai donc farfouillé dans le code WordPress pour voir comment ils le faisaient pour la gestion des articles et, au final, c&#8217;est plutôt simple !<br />
<span id="more-822"></span><br />
Commencez par ajoutez au début de votre plugin une &laquo;&nbsp;action&nbsp;&raquo; qui va exécuter le code d&#8217;une fonction à l&#8217;initialisation de l&#8217;administration :</p>
<pre class="brush: php; title: ; notranslate">add_action('admin_init', 'init_wysiwyg');</pre>
<p>Ajoutez ensuite la fonction en question qui va se charger de définir quelques scripts à charger pour que l&#8217;éditeur fonctionne correctement :</p>
<pre class="brush: php; title: ; notranslate">function init_wysiwyg()
{
wp_enqueue_script('editor');
add_thickbox();
wp_enqueue_script('media-upload');
add_action('admin_print_footer_scripts', 'wp_tiny_mce', 25);
wp_enqueue_script('quicktags');
}</pre>
<p>Il ne vous reste plus qu&#8217;à insérer votre éditeur WYSIWYG où bon vous semble dans votre plugin comme ceci :</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;poststuff&quot;&gt;&lt;!--?php the_editor(); ?--&gt;&lt;/div&gt;
</pre>
<p>Le DIV poststuff est important pour éviter les bugs de style sur l&#8217;éditeur WYSIWYG.</p>
<p>La fonction <em>the_editor</em> de WordPress possède plusieurs paramètres :</p>
<pre class="brush: php; title: ; notranslate">the_editor($content, $id = 'content', $prev_id = 'title', $media_buttons = true, $tab_index = 2)</pre>
<ul>
<li><strong>$content :</strong> Le contenu de l&#8217;éditeur de texte.</li>
<li><strong>$id :</strong> Le nom (et ID) du champ de l&#8217;éditeur de texte.</li>
<li><strong>$prev_id :</strong> L&#8217;ID du champ précédent pour pouvoir switcher entre les différents champs du formulaire.</li>
<li><strong>$media_buttons :</strong> Booléen (true ou false) qui défini si il faut afficher les boutons pour insérer des fichiers (images, sons, vidéos, etc).</li>
<li><strong>$tab_index :</strong> L&#8217;index de tabulation du champ de formulaire.</li>
</ul>
<p>Donc vous pouvez même définir un contenu de base et un nom de champ à votre éditeur :</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;poststuff&quot;&gt;&lt;!--?php the_editor(get_option('my_plugin_option'), 'my_plugin_option'); ?--&gt;&lt;/div&gt;
</pre>
<p>Et pour que la ressemblance soit parfaite, vous pouvez définir le style du textarea (qui est affiché lorsque vous êtres en mode HTML) dans votre CSS :</p>
<pre class="brush: css; title: ; notranslate">#poststuff textarea
{
-moz-box-sizing:border-box;
border:0 none;
line-height:150%;
outline-color:-moz-use-text-color;
outline-style:none;
outline-width:medium;
padding:6px;
margin:0;
width:100%;
}</pre>
<p>Ensuite, du côté de la réception du formulaire, un petit coup de <a href="http://www.php.net/nl2br">nl2br()</a> sera nécessaire pour garder les retours à la ligne :</p>
<pre class="brush: php; title: ; notranslate">echo nl2br($_POST['my_wysiwyg']);</pre>
<p>Elle est pas belle la vie ?</p>
<p>Je me demande bien pourquoi ils n&#8217;en parlent même pas dans la doc WordPress. Ça peut quand même être bien pratique et ça permet de garder une cohérence dans toute l&#8217;administration plutôt que d&#8217;utiliser un autre éditeur (ou pas d&#8217;éditeur du tout)&#8230;</p>
<p>Enjoy ! <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://leeroy.kodingen.com/blog/developpement/utiliser-editeur-de-texte-wysiwyg-de-wordpress-dans-vos-plugins/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>T&#8217;as vuu ? iPhone, WordPress, PHP et AJAX au format SVG !</title>
		<link>http://leeroy.kodingen.com/blog/infographie/tas-vuu-iphone-wordpress-php-et-ajax-au-format-svg/</link>
		<comments>http://leeroy.kodingen.com/blog/infographie/tas-vuu-iphone-wordpress-php-et-ajax-au-format-svg/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 18:33:51 +0000</pubDate>
		<dc:creator>leeroy</dc:creator>
				<category><![CDATA[Infographie]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[inkscape]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">/blog/?p=710</guid>
		<description><![CDATA[J&#8217;avais besoin dans le cadre d&#8217;un projet de quelques logos au format SVG. Pour la plupart, une recherche Google a suffit. Mais pour certains, ne les ayant pas trouvé après plusieurs recherches, j&#8217;ai préféré les refaire complètement (en me basant &#8230; <a href="http://leeroy.kodingen.com/blog/infographie/tas-vuu-iphone-wordpress-php-et-ajax-au-format-svg/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>J&#8217;avais besoin dans le cadre d&#8217;un projet de quelques logos au format <a href="http://fr.wikipedia.org/wiki/Svg" target="_blank">SVG</a>.</p>
<p>Pour la plupart, une recherche Google a suffit. Mais pour certains, ne les ayant pas trouvé après plusieurs recherches, j&#8217;ai préféré les refaire complètement (en me basant sur quelque chose d&#8217;existant, bien sûr).</p>
<p>Ils ne sont pas parfait et peut-être même qu&#8217;ils existaient déjà quelque part, mais bon, comme je suis gentil, je vais vous les donner ici. <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Sentez-vous libres de les partager, modifier ou de les améliorer comme bon vous semble. Mais si vous les repostez quelque part, un lien retour serait très apprécié. <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <span id="more-710"></span></p>
<h3>AJAX</h3>
<p>AJAX n&#8217;ayant pas de logo précis (rappelons que c&#8217;est une combinaison de technologies), j&#8217;ai repris celui qui a été utilisé sur <a href="/blog/wp-content/uploads/2009/08/Couv-AW.jpg" target="_blank">la couverture du premier <em>Advanced Web</em></a> (devenu maintenant <em>Web Design</em>).</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/ajax.svg" target="_blank"><img class="size-full wp-image-717" title="ajax" src="/blog/wp-content/uploads/2009/08/ajax.png" alt="Logo AJAX en SVG" width="200" height="225" /></a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/ajax.svg" target="_blank"><img class="alignnone size-full wp-image-719" title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<h3 style="text-align: left;">PHP</h3>
<p>Le logo de PHP peut-être facilement trouvé au format SVG sur Wikipedia, par exemple. Il me fallait cependant l&#8217;éléPHPant !</p>
<p>J&#8217;ai repris <a href="http://images.google.fr/images?q=elephpant" target="_blank">une des premières images trouvées rapidement sur Google</a>.</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/php.svg" target="_blank"><img class="alignnone size-full wp-image-724" title="ElePHPant au format SVG !" src="/blog/wp-content/uploads/2009/08/php.png" alt="ElePHPant au format SVG !" width="371" height="235" /></a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/php.svg" target="_blank"><img title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<h3 style="text-align: left;">iPhone</h3>
<p>Pour l&#8217;iPhone, même combat. Je me suis cette fois basé sur une des images de <a href="http://www.apple.com/iphone/gallery/" target="_blank">la galerie officielle d&#8217;Apple</a>.</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/iphone.svg" target="_blank"><img class="alignnone size-full wp-image-727" title="iPhone 3G au format SVG !" src="/blog/wp-content/uploads/2009/08/iphone.png" alt="iPhone 3G au format SVG !" width="224" height="413" /></a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/iphone.svg" target="_blank"><img title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<h3 style="text-align: left;">WordPress</h3>
<p>Le <a href="http://www.wordpress.org/about/logos/" target="_blank">site officiel de WordPress regorge de logos</a> au format PDF, PNG ou PSD. J&#8217;ai juste repris le logo de base au format PDF que j&#8217;ai ensuite importé dans Inkscape avant de le modifier.</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/wp.svg" target="_blank"><img class="alignnone size-full wp-image-730" title="Logo WordPress au format SVG !" src="/blog/wp-content/uploads/2009/08/wp.png" alt="Logo WordPress au format SVG !" width="261" height="261" /></a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/wp.svg" target="_blank"><img title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<p style="text-align: left;">Voilà pour les quelques logos que j&#8217;ai vectorisé moi-même. A préciser encore qu&#8217;ils ont tous été réalisés sous <a href="http://www.inkscape.org/" target="_blank">le merveilleux Inkscape</a> !</p>
<h3 style="text-align: left;">Plus de logos ?</h3>
<p>Voici encore un bon paquet de logos au format SVG que j&#8217;ai trouvé sur le web (ce n&#8217;est donc pas moi qui les ai fait <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</p>
<h4>Mozilla Firefox</h4>
<p>Logo officiel <a href="http://fr.wikipedia.org/wiki/Fichier:Mozilla_Firefox.svg" target="_blank">trouvé sur la page Wikipedia du navigateur web</a>.</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/firefox.svg" target="_blank"><img class="alignnone size-full wp-image-731" title="Logo de Firefox au format SVG" src="/blog/wp-content/uploads/2009/08/Firefox.png" alt="Logo de Firefox au format SVG" width="200" height="194" /></a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/firefox.svg" target="_blank"><img title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<h4 style="text-align: left;">Google</h4>
<p>Logo officiel <a href="http://en.wikipedia.org/wiki/File:Google.svg" target="_blank">trouvé sur la page Wikipedia de Google</a>.</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/google.svg" target="_blank"><img class="alignnone size-full wp-image-734" title="Logo de Google au format SVG" src="/blog/wp-content/uploads/2009/08/google.png" alt="Logo de Google au format SVG" width="200" height="68" /></a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/google.svg" target="_blank"><img title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<h4 style="text-align: left;">Debian</h4>
<p>Logo réalisé par Jacob Emcken <a href="http://www.debianart.dk/submissions/any/latest/" target="_blank">trouvé sur le site &laquo;&nbsp;Debian Art&nbsp;&raquo;</a>.</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/debian.svg" target="_blank"><img class="alignnone size-full wp-image-737" title="Logo de Debian au format SVG" src="/blog/wp-content/uploads/2009/08/debian.png" alt="Logo de Debian au format SVG" width="245" height="306" /><br />
</a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/debian.svg" target="_blank"><img title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<h4 style="text-align: left;">Ubuntu</h4>
<p>Logo <a href="https://wiki.ubuntu.com/Artwork/Official" target="_blank">trouvé sur la page &laquo;&nbsp;Artwork&nbsp;&raquo; du site officiel</a>.</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/ubuntu.svg" target="_blank"><img class="alignnone size-full wp-image-739" title="Logo d'Ubuntu au format SVG" src="/blog/wp-content/uploads/2009/08/ubuntu.png" alt="Logo d'Ubuntu au format SVG" width="200" height="207" /></a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/ubuntu.svg" target="_blank"><img title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<p style="text-align: left;">Logo <a href="http://fr.wikipedia.org/wiki/Fichier:Logo-ubuntu.svg" target="_blank">trouvé sur la page Wikipedia d&#8217;Ubuntu</a>.</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/ubuntu2.svg" target="_blank"><img class="alignnone size-full wp-image-741" title="Logo d'Ubuntu au format SVG" src="/blog/wp-content/uploads/2009/08/ubuntu2.png" alt="Logo d'Ubuntu au format SVG" width="200" height="209" /><br />
</a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/ubuntu2.svg" target="_blank"><img title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<h4 style="text-align: left;">Tux</h4>
<p>Logo <a href="http://commons.wikimedia.org/wiki/File:NewTux.svg" target="_blank">trouvé sur Wikimedia Commons</a>.</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/tux.svg" target="_blank"><img class="alignnone size-full wp-image-743" title="Tux au format SVG" src="/blog/wp-content/uploads/2009/08/tux.png" alt="Tux au format SVG" width="200" height="238" /></a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/tux.svg" target="_blank"><img title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<p style="text-align: left;"><strong>Apple</strong></p>
<p style="text-align: left;">Logo <a href="http://fr.wikipedia.org/wiki/Fichier:Apple_Computer_logo.svg" target="_blank">trouvé sur la page Wikipedia d&#8217;Apple Computer</a>.</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/apple.svg" target="_blank"><img class="alignnone size-full wp-image-745" title="Logo d'Apple au format SVG" src="/blog/wp-content/uploads/2009/08/apple.png" alt="Logo d'Apple au format SVG" width="100" height="119" /><br />
</a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/apple.svg" target="_blank"><img title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<h4 style="text-align: left;">Inkscape</h4>
<p>Logo <a href="http://svgicons.o7a.net/inkscape.php" target="_blank">trouvé sur le site &laquo;&nbsp;SVG Icons&nbsp;&raquo;</a>.</p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/inkscape.svg" target="_blank"><img class="alignnone size-full wp-image-747" title="Logo d'Inkscape au format SVG" src="/blog/wp-content/uploads/2009/08/inkscape.png" alt="Logo d'Inkscape au format SVG" width="200" height="200" /></a></p>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/inkscape.svg" target="_blank"><img title="Télécharger le logo AJAX en SVG !" src="/blog/wp-content/uploads/2009/08/telecharger-svg.png" alt="Télécharger le logo AJAX en SVG !" width="179" height="28" /></a></p>
<p style="text-align: left;">Voilà, cet article est terminé.</p>
<p style="text-align: left;">J&#8217;espère qu&#8217;il aura satisfait votre soif de beaux logos vectoriels pour aujourd&#8217;hui ! <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p style="text-align: left;">N&#8217;hésitez pas à poster un commentaire si vous en avez d&#8217;autres pas mal que vous souhaitez partager <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p style="text-align: left;">&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://leeroy.kodingen.com/blog/infographie/tas-vuu-iphone-wordpress-php-et-ajax-au-format-svg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Activer/débloquer la fonction modem sur votre iPhone</title>
		<link>http://leeroy.kodingen.com/blog/decouvertes/activerdebloquer-la-fonction-modem-sur-son-iphone/</link>
		<comments>http://leeroy.kodingen.com/blog/decouvertes/activerdebloquer-la-fonction-modem-sur-son-iphone/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 13:38:34 +0000</pubDate>
		<dc:creator>leeroy</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Découvertes]]></category>

		<guid isPermaLink="false">/blog/?p=665</guid>
		<description><![CDATA[Voici une astuce franchement pas mal que j&#8217;ai découvert l&#8217;autre jour. Elle vous permet de débloquer la fonction modem de votre iPhone et ceci même si votre opérateur vous l&#8217;en empêche ! Pour rappel, la fonction modem vous permet de &#8230; <a href="http://leeroy.kodingen.com/blog/decouvertes/activerdebloquer-la-fonction-modem-sur-son-iphone/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Voici une astuce franchement pas mal que j&#8217;ai découvert l&#8217;autre jour.</p>
<p>Elle vous permet de <strong>débloquer la fonction modem</strong> de votre iPhone et ceci même si votre opérateur vous l&#8217;en empêche !<span id="more-665"></span></p>
<p>Pour rappel, la fonction modem vous permet de partager la connexion 3G ou EDGE de votre iPhone avec votre Mac ou votre PC. Vous pouvez ainsi <strong>accéder à internet</strong> depuis (presque) n&#8217;importe où et avec votre tout le confort de votre écran d&#8217;ordinateur !</p>
<p>Attention quand même à ne pas exploser votre forfait. Ça risque de faire mal&#8230;<br />
Attention également car j&#8217;ai entendu dire que certains opérateurs arrivaient à <strong>détecter</strong> l&#8217;astuce et qu&#8217;ils vous facturaient les données transférées <strong>à plein tarif</strong> (comme si vous n&#8217;aviez pas de forfait&#8230;).</p>
<p>A utiliser à vos risques et périls, donc <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>Comment faire pour débloquer le modem sur votre iphone ? C&#8217;est très très simple :</p>
<ol>
<li>Rendez-vous depuis votre iPhone sur <strong>http://help.benm.at</strong></li>
<li>Dans la partie « Tethering &amp; Internet Settings » cliquez sur « <strong>Mobileconfigs download </strong>»</li>
<li>Sélectionnez ensuite <strong>votre pays</strong> dans la liste</li>
<li>Puis, choisissez <strong>votre opérateur</strong></li>
<li>L&#8217;iPhone va ensuite vous proposer d&#8217;installer un « Profil », cliquez sur « <strong>Installer</strong> »</li>
<li>Puis, confirmez en cliquant sur « <strong>Remplacer</strong> »</li>
<li>Et voilà ! Votre profil est maintenant installé !</li>
<li>Cliquez sur « <strong>OK</strong> » pour fermer la fenêtre et revenir au navigateur web.</li>
</ol>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/iphone_debloque_modem_1.png"><img class="size-thumbnail wp-image-685" title="iphone_debloque_modem_1" src="/blog/wp-content/uploads/2009/08/iphone_debloque_modem_1-150x150.png" alt="iphone_debloque_modem_1" width="150" height="150" /></a> <a href="/blog/wp-content/uploads/2009/08/iphone_debloque_modem_2.png"><img class="alignnone size-thumbnail wp-image-686" title="iphone_debloque_modem_2" src="/blog/wp-content/uploads/2009/08/iphone_debloque_modem_2-150x150.png" alt="iphone_debloque_modem_2" width="150" height="150" /></a> <a href="/blog/wp-content/uploads/2009/08/iphone_debloque_modem_3.png"><img class="alignnone size-thumbnail wp-image-687" title="iphone_debloque_modem_3" src="/blog/wp-content/uploads/2009/08/iphone_debloque_modem_3-150x150.png" alt="iphone_debloque_modem_3" width="150" height="150" /></a> <a href="/blog/wp-content/uploads/2009/08/iphone_debloque_modem_4.png"><img class="alignnone size-thumbnail wp-image-688" title="iphone_debloque_modem_4" src="/blog/wp-content/uploads/2009/08/iphone_debloque_modem_4-150x150.png" alt="iphone_debloque_modem_4" width="150" height="150" /></a></p>
<p>Maintenant que la fonction modem est débloquée, il ne vous reste plus qu&#8217;à aller l&#8217;activer dans les réglages :</p>
<ol>
<li>Branchez maintenant l&#8217;iPhone à votre ordinateur avec un câble USB et vérifiez que iTunes soit bien installé sur celui-ci (pas besoin de le lancer)</li>
<li>Retournez sur votre iPhone et rendez-vous dans ses réglages</li>
<li>Rendez-vous dans « <strong>Général </strong>»</li>
<li>Puis dans « <strong>Réseau </strong>»</li>
<li>Cliquez sur « <strong>Partage Internet</strong> »</li>
<li>Activez désormais simplement l&#8217;option « <strong>Partage Internet</strong> »</li>
<li>Tout devrait s&#8217;installer automatiquement sur votre ordinateur. La connexion Internet devrait s&#8217;activer d&#8217;elle même après quelques secondes et vous devriez ensuite pouvoir accéder à Internet depuis votre ordinateur !</li>
</ol>
<p style="text-align: center;"><a href="/blog/wp-content/uploads/2009/08/iphone_reglages_reseau.png"><img class="alignnone size-thumbnail wp-image-690" title="iphone_reglages_reseau" src="/blog/wp-content/uploads/2009/08/iphone_reglages_reseau-150x150.png" alt="iphone_reglages_reseau" width="150" height="150" /></a> <a href="/blog/wp-content/uploads/2009/08/iphone_reglages_partage_internet.png"><img class="alignnone size-thumbnail wp-image-691" title="iphone_reglages_partage_internet" src="/blog/wp-content/uploads/2009/08/iphone_reglages_partage_internet-150x150.png" alt="iphone_reglages_partage_internet" width="150" height="150" /></a> <a href="/blog/wp-content/uploads/2009/08/iphone_reglages_partage_internet_actif.png"><img class="alignnone size-thumbnail wp-image-692" title="iphone_reglages_partage_internet_actif" src="/blog/wp-content/uploads/2009/08/iphone_reglages_partage_internet_actif-150x150.png" alt="iphone_reglages_partage_internet_actif" width="150" height="150" /></a> <a href="/blog/wp-content/uploads/2009/08/iphone_reglages_partage_internet_inactif.png"><img class="alignnone size-thumbnail wp-image-693" title="iphone_reglages_partage_internet_inactif" src="/blog/wp-content/uploads/2009/08/iphone_reglages_partage_internet_inactif-150x150.png" alt="iphone_reglages_partage_internet_inactif" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://leeroy.kodingen.com/blog/decouvertes/activerdebloquer-la-fonction-modem-sur-son-iphone/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Plus de connexion internet (3G, EDGE ou WiFi) sur votre iPhone ?</title>
		<link>http://leeroy.kodingen.com/blog/apple/plus-de-connexion-internet-3g-edge-ou-wifi-sur-votre-iphone/</link>
		<comments>http://leeroy.kodingen.com/blog/apple/plus-de-connexion-internet-3g-edge-ou-wifi-sur-votre-iphone/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 18:05:13 +0000</pubDate>
		<dc:creator>leeroy</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[réglages]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">/blog/?p=656</guid>
		<description><![CDATA[C&#8217;est il y a quelques jours que je me suis rendu compte que je n&#8217;arrivais plus à me connecter à Internet en 3G ou en EDGE. Étant d&#8217;habitude toujours à proximité d&#8217;un réseau wifi, ça ne m&#8217;a pas trop gêné. &#8230; <a href="http://leeroy.kodingen.com/blog/apple/plus-de-connexion-internet-3g-edge-ou-wifi-sur-votre-iphone/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>C&#8217;est il y a quelques jours que je me suis rendu compte que je n&#8217;arrivais plus à <strong>me connecter à Internet</strong> en 3G ou en EDGE.</p>
<p>Étant d&#8217;habitude toujours à proximité d&#8217;un réseau wifi, ça ne m&#8217;a pas trop gêné. Jusqu&#8217;au week-end passé où je suis allé me promener du côté du Grand Bornand.</p>
<p>J&#8217;ai donc cherché et trouvé une solution à ce problème. C&#8217;est tout simple !<br />
<span id="more-656"></span>Si votre iPhone vous affiche un message du style :</p>
<p style="text-align: center;"><strong><em>Impossible d&#8217;ouvrir la page</em></strong><em><br />
Safari ne peut pas ouvrir la page car vous n&#8217;êtes pas connecté à Internet.</em></p>
<p style="text-align: left;">Il vous suffit de <strong>réinitialiser </strong>vos réglages réseau (par contre attention, toutes les clés de réseaux WiFI, et autres informations réseau <strong>seront effacées</strong> de la mémoire de l&#8217;iPhone, vous devrez les réentrer la prochaine fois que vous essaierez de vous connecter à vos réseaux wifi favoris) :</p>
<ol>
<li style="text-align: left;">Rendez-vous dans les <strong>réglages</strong> de votre iPhone puis dans <strong>Général</strong>.<br />
<a href="/blog/wp-content/uploads/2009/07/iphone_general_settings.jpg"><img class="alignnone size-medium wp-image-659" title="iphone_general_settings" src="/blog/wp-content/uploads/2009/07/iphone_general_settings-200x300.jpg" alt="iphone_general_settings" width="200" height="300" /></a></li>
<li>Cliquez (ou touchez, c&#8217;est comme vous voulez <img src='http://leeroy.kodingen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ) le bouton <strong>Réinitialiser.<br />
<a href="/blog/wp-content/uploads/2009/07/general_reinit.jpg"><img class="size-medium wp-image-662 alignnone" title="general_reinit" src="/blog/wp-content/uploads/2009/07/general_reinit-200x300.jpg" alt="Réinitialiser les réglages de l'iPhone" width="200" height="300" /><br />
</a></strong></li>
<li>Cliquez sur <strong>Réinitialiser les réglages réseau<br />
<a href="/blog/wp-content/uploads/2009/07/reinit_network.jpg"><img class="alignnone size-medium wp-image-670" title="Réinitialiser les réglages réseaux de l'iPhone" src="/blog/wp-content/uploads/2009/07/reinit_network-200x300.jpg" alt="Réinitialiser les réglages réseaux de l'iPhone" width="200" height="300" /><br />
</a></strong></li>
<li>Et pour finir confirmez en cliquant sur <strong>Réinitialiser</strong><br />
<a href="/blog/wp-content/uploads/2009/07/confirm_reinit_network.jpg"><img class="alignnone size-medium wp-image-671" title="Confirmer réinitialisation réglages réseaux iPhone" src="/blog/wp-content/uploads/2009/07/confirm_reinit_network-200x300.jpg" alt="Confirmer réinitialisation réglages réseaux iPhone" width="200" height="300" /></a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://leeroy.kodingen.com/blog/apple/plus-de-connexion-internet-3g-edge-ou-wifi-sur-votre-iphone/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Syncroniser son iPhone avec son compte Google via Exchange</title>
		<link>http://leeroy.kodingen.com/blog/google/syncroniser-son-iphone-avec-son-compte-google-via-exchange/</link>
		<comments>http://leeroy.kodingen.com/blog/google/syncroniser-son-iphone-avec-son-compte-google-via-exchange/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 17:01:00 +0000</pubDate>
		<dc:creator>leeroy</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[synchronisation]]></category>

		<guid isPermaLink="false">/blog/?p=461</guid>
		<description><![CDATA[Nous allons voir ici comment configurer l&#8217;iPhone afin qu&#8217;il synchronise automatiquement ses contacts, son calendrier et ses mails avec votre compte Google sans passer par iTunes. Attention : si vous êtes encore sous le firmware 2.x, l&#8217;iPhone supprimera tous vos &#8230; <a href="http://leeroy.kodingen.com/blog/google/syncroniser-son-iphone-avec-son-compte-google-via-exchange/">Continuer la lecture <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Nous allons voir ici comment configurer l&#8217;iPhone afin qu&#8217;il <strong>synchronise automatiquement</strong> ses contacts, son calendrier et ses mails avec votre <strong>compte Google</strong> sans passer par iTunes.</p>
<p><span id="more-461"></span><strong>Attention :</strong> si vous êtes encore sous le <strong>firmware 2.x</strong>, l&#8217;iPhone supprimera tous vos contacts et votre calendrier lors de la configuration du compte Exchange. Il est donc très important de les sauvegarder (<a href="/blog/apple/sauvegarder-les-contacts-et-le-calendrier-de-son-iphone-via-itunes/" target="_blank">voir l&#8217;article du 21 juin pour plus d&#8217;infos</a>).</p>
<p>Si vous êtes sous le dernier firmware 3.0, pas de soucis, vous aurez le choix de les garder ou non sur votre iPhone avant la première synchronisation.</p>
<p><!--more--></p>
<h3>Configurer la synchronisation via Exchange des contacts, du calendrier et des mails de l&#8217;iPhone</h3>
<p>Je vais vous détailler ici la méthode qui fonctionne pour le <strong>firmware 3.0</strong> de l&#8217;iPhone.</p>
<p>Par conséquent si vous êtes encore sous une ancienne version du firmware, <a href="http://www.google.com/support/mobile/bin/answer.py?answer=138740" target="_blank">rendez-vous ici afin de suivre la procédure de Google</a>.</p>
<p><strong>C&#8217;est partit !</strong></p>
<ol>
<li>Ouvrez les <strong>règlages</strong> de l&#8217;iPhone depuis l&#8217;écran d&#8217;accueil.</li>
<li>Rendez-vous dans les paramètres <strong>Mail, Contacts, Calendrier</strong>.</li>
<li>Sélectionnez <strong>Ajouter un compte&#8230;</strong> puis <strong>Microsoft Exchange</strong>.
<p style="text-align: center;"><img src="/blog/wp-content/uploads/2009/06/iphone-sync/iphone-sync-07.png" alt="Mail, Contacts, Calendrier" /> <img src="/blog/wp-content/uploads/2009/06/iphone-sync/iphone-sync-08.png" alt="Ajouter un compte..." /> <img src="/blog/wp-content/uploads/2009/06/iphone-sync/iphone-sync-09.png" alt="Ajouter un compte... Exchange" /></p>
</li>
<li>Dans le champ <strong>Adresse</strong> entrez votre adresse email Google.</li>
<li>Laissez le champ <strong>Domaine</strong> vide.</li>
<li>Entrez de nouveau votre adresse email Google dans le champ <strong>Nom d&#8217;utilisateur</strong>.</li>
<li>Entrez le mot de passe de votre compte Google dans le champ <strong>Mot de passe</strong>.</li>
<li>Cliquez sur <strong>Suivant</strong> en haut de l&#8217;écran.</li>
<li>Un nouveau champ <strong>Serveur</strong> va apparaître à l&#8217;écran, entrez-y <strong><em>m.google.com</em></strong> et cliquez sur <strong>Suivant</strong></li>
<li>Une fois votre compte Google vérifié, une nouvelle fenêtre devrait apparaître.</li>
<li>Choisissez les éléments à synchroniser (désormais la synchronisation des mails fonctionne également) et cliquez sur <strong>Terminé</strong>.
<p style="text-align: center;"><img src="/blog/wp-content/uploads/2009/06/iphone-sync/iphone-sync-10.png" alt="Configuration du compte Exchange" /> <img src="/blog/wp-content/uploads/2009/06/iphone-sync/iphone-sync-11.png" alt="Configuration du compte Exchange" /> <img src="/blog/wp-content/uploads/2009/06/iphone-sync/iphone-sync-12.png" alt="Configuration du compte Exchange" /></p>
</li>
</ol>
<p>Votre compte Exchange est maintenant configuré !</p>
<p>Pour que vos contacts,votre calendrier et vos mails soient synchronisés vous devez soit :</p>
<ul>
<li>Configurer l&#8217;option <strong>Push</strong> de l&#8217;iPhone afin qu&#8217;il le fasse automatiquement.</li>
<li>Afficher votre calendrier, vos contacts ou vos mails quelques secondes pour lancer la synchro.</li>
</ul>
<p>Elle est pas belle la vie ?</p>
<h3>Plus de lecture ?</h3>
<ul>
<li><a href="http://www.google.com/support/mobile/bin/answer.py?answer=138740" target="_blank">http://www.google.com/support/mobile/bin/answer.py?answer=138740</a></li>
<li><a href="http://www.google.com/support/mobile/bin/answer.py?answer=138744" target="_blank">http://www.google.com/support/mobile/bin/answer.py?answer=138744</a></li>
<li><a href="http://www.google.com/support/forum/p/Google+Mobile/thread?tid=4225c267a40b0e0b&amp;hl=en" target="_blank">http://www.google.com/support/forum/p/Google+Mobile/thread?tid=4225c267a40b0e0b&amp;hl=en</a></li>
<li><a href="http://www.google.com/mobile/apple/sync.html" target="_blank">http://www.google.com/mobile/apple/sync.html</a></li>
<li><a href="http://www.commentcamarche.net/forum/affich-12711138-probleme-gconsync-exe-avec-itunes" target="_blank">http://www.commentcamarche.net/forum/affich-12711138-probleme-gconsync-exe-avec-itunes</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://leeroy.kodingen.com/blog/google/syncroniser-son-iphone-avec-son-compte-google-via-exchange/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

