<?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>Le bloc-note de Tony Mirante &#187; API</title>
	<atom:link href="http://www.le-bloc-note-de-tony-mirante.com/category/api-2/feed" rel="self" type="application/rss+xml" />
	<link>http://www.le-bloc-note-de-tony-mirante.com</link>
	<description>Developpement web, Tutoriaux, jQuery, Ajax, Php, MySQL, web 2.0 et exemples</description>
	<lastBuildDate>Sun, 11 Sep 2011 13:09:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Géolocalisation avec Google Maps, jQuery et HTML5</title>
		<link>http://www.le-bloc-note-de-tony-mirante.com/query/geolocalisation-avec-google-maps-jquery-et-html5-191</link>
		<comments>http://www.le-bloc-note-de-tony-mirante.com/query/geolocalisation-avec-google-maps-jquery-et-html5-191#comments</comments>
		<pubDate>Mon, 25 Jul 2011 12:09:28 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[géolocalisation]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.le-bloc-note-de-tony-mirante.com/?p=191</guid>
		<description><![CDATA[Ces derniers jours, j&#8217;ai dû tester la géolicalisation avec Google Maps et c&#8217;est vraiment bien foutu. Je vous met en bloc le bout de script que j&#8217;ai retrouvé jenesaisplusoù .. Code HTML :]]></description>
			<content:encoded><![CDATA[<p>Ces derniers jours, j&#8217;ai dû tester la géolicalisation avec Google Maps et c&#8217;est vraiment bien foutu.</p>
<p>Je vous met en bloc le bout de script que j&#8217;ai retrouvé <em>jenesaisplusoù</em> ..</p>
<p><img class="aligncenter size-full wp-image-192" title="geolocalisation_avec_googlemaps" src="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/07/geolocalisation_avec_googlemaps.jpg" alt="" width="493" height="349" /><span id="more-191"></span></p>
<p><strong>Code HTML :</strong></p>
<pre class="brush: xml; title: ; notranslate">

&lt;script type=&quot;text/javascript&quot; src=&quot;http://maps.google.com/maps/api/js?sensor=false&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/
1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.cookie.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function success(position)
{
var s = document.querySelector('#status');
if (s.className == 'success')
{
return;
}
s.innerHTML = &quot;Trouvé!&quot;;
s.className = 'Success';
var mapcanvas = document.createElement('div');
mapcanvas.id = 'mapcanvas';
mapcanvas.style.height = '100%';
mapcanvas.style.width = '100%';
document.querySelector('#map').appendChild(mapcanvas);
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var myOptions = {
zoom: 15,
center: latlng,
mapTypeControl: false,
navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById(&quot;mapcanvas&quot;), myOptions);
var marker = new google.maps.Marker({
position: latlng,
map: map,
title:&quot;You are here!&quot;
});
$.cookie(&quot;MyLat&quot;, position.coords.latitude); // Storing latitude value
$.cookie(&quot;MyLon&quot;, position.coords.longitude); // Storing longitude value
}
function error(msg)
{
var s = document.querySelector('#status');
s.innerHTML = typeof msg == 'string' ? msg : &quot;failed&quot;;
s.className = 'Fail';
}
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(success, error);
}
else
{
error('Not supported'); //HTML Support
}

//Jquery Code
$(document).ready(function()
{
$(&quot;#check&quot;).click(function()
{
var lat = $.cookie(&quot;MyLat&quot;);
var lon = $.cookie(&quot;MyLon&quot;);
alert('Latitued: '+lat);
alert('Longitude: '+lon);
var url=&quot;http://maps.googleapis.com/maps/api/geocode/json?latlng=&quot;+lat+&quot;,&quot;+lon+&quot;&amp;sensor=false&quot;;
alert('Google Map API: '+url);
//Get Json Request Here
});
});
&lt;/script&gt;
//HTML Code
&lt;input type='button' id='check' value='Check-out'/&gt;
&lt;div id=&quot;status&quot;&gt;Loading.............&lt;/div&gt;
&lt;div id=&quot;map&quot;&gt;&lt;/div&gt;
</pre>
<p style="text-align: center;"><a href="http://demo.le-bloc-note-de-tony-mirante.com/Geolocalisation-avec-Google-Maps-jQuery-et-HTML5/demo.zip"><img title="Télécharger" src="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/telecharger.png" alt="" width="266" height="78" /></a><a href="http://demo.le-bloc-note-de-tony-mirante.com/Geolocalisation-avec-Google-Maps-jQuery-et-HTML5/" target="_blank"><img title="Démo" src="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/demo.png" alt="" width="266" height="78" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.le-bloc-note-de-tony-mirante.com/query/geolocalisation-avec-google-maps-jquery-et-html5-191/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recherche instantanée avec Bing (jQuery &amp; Ajax)</title>
		<link>http://www.le-bloc-note-de-tony-mirante.com/query/recherche-instantanee-avec-bing-jquery-ajax-175</link>
		<comments>http://www.le-bloc-note-de-tony-mirante.com/query/recherche-instantanee-avec-bing-jquery-ajax-175#comments</comments>
		<pubDate>Mon, 28 Feb 2011 13:43:44 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.le-bloc-note-de-tony-mirante.com/?p=175</guid>
		<description><![CDATA[Vous avez déjà surement remarqué lorsque vous faites une recherche sur Google, qu&#8217;il y a la possibilité d&#8217;activer la recherche instantanée, nous allons voir comment faire pareil avec Bing a l&#8217;aide de jQuery et un peu d&#8217;Ajax. Premièrement, il faut vous créez une application sur le centre de développement Bing. Connectez-vous avec votre compte live]]></description>
			<content:encoded><![CDATA[<p>Vous avez déjà surement remarqué lorsque vous faites une recherche sur Google, qu&#8217;il y a la possibilité d&#8217;activer la recherche instantanée, nous allons voir comment faire pareil avec Bing a l&#8217;aide de jQuery et un peu d&#8217;Ajax.</p>
<p><a href="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/recherche-instantanee-avec-Bing-jQuery-Ajax.png"><img class="aligncenter size-full wp-image-183" title="recherche-instantanee-avec-Bing-jQuery-Ajax" src="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/recherche-instantanee-avec-Bing-jQuery-Ajax.png" alt="" width="500" height="200" /></a></p>
<p><span id="more-175"></span></p>
<p>Premièrement, il faut vous créez une application sur le <a title="Centre de développement Bing" href="http://www.bing.com/developers/appids.aspx" target="_blank">centre de développement Bing</a>.</p>
<p>Connectez-vous avec votre compte live et laissez-vous guider, rien de compliqué, validez et mettez de côté l&#8217;AppID qu&#8217;il vous renvoi.</p>
<p><strong>Code Javascript :</strong></p>
<p>Remplacez APPID par la votre.</p>
<p>On interroge Bing qui nous renvoi au format <a title="Json" href="http://fr.wikipedia.org/wiki/JavaScript_Object_Notation" target="_blank">Json</a>.</p>
<p>On y récupère la description, le titre et l&#8217;url pour chaque ligne retournée.</p>
<pre class="brush: jscript; title: ; notranslate">

&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function()
{

$(&quot;.search_input&quot;).keyup(function()
{
var search_input = $(this).val();
var keyword= encodeURIComponent(search_input);
// Bing Search API
var bing_url='http://api.search.live.net/json.aspx?JsonType=callback&amp;JsonCallback=?&amp;Appid=APPID&amp;query='+keyword+'&amp;sources=web';

$.ajax
({
type: &quot;GET&quot;,
url: bing_url,
dataType:&quot;jsonp&quot;,
success: function(response)
{
$(&quot;#result&quot;).html('');
if(response.SearchResponse.Web.Results.length)
{
$.each(response.SearchResponse.Web.Results, function(i,data)
{
var title=data.Title;
var dis=data.Description;
var url=data.Url;

var final=&quot;&lt;div class='webresult'&gt;&lt;div class='title'&gt;&lt;a href='&quot;+url+&quot;'&gt;&quot;+title+&quot;&lt;/a&gt;&lt;/div&gt;&lt;div class='desc'&gt;&quot;+dis+&quot;&lt;/div&gt;&lt;div class='url'&gt;&quot;+url+&quot;&lt;/div&gt;&lt;/div&amp;gt;&quot;;

$(&quot;#result&quot;).append(final); // Result

});
}
else
{
$(&quot;#result&quot;).html(&quot;&lt;div id='no'&gt;No Results&lt;/div&gt;&quot;);
}
}
});
});
});
&lt;/script&gt;
// HTML code
&lt;input type=&quot;text&quot; class='search_input' /&gt;
&lt;div id=&quot;result&quot;&gt;
&lt;/div&gt;
</pre>
<p>Code CSS :</p>
<pre class="brush: css; title: ; notranslate">

&lt;strong&gt;#container&lt;/strong&gt;
 {
 margin:0 auto;
 width:700px;
 }
 &lt;strong&gt;.search_input&lt;/strong&gt;
 {
 border:2px solid #333;
 font-size:20px;
 padding:5px;
 width:350px;
 font-family:'Georgia', Times New Roman, Times, serif;
 -moz-border-radius:5px;-webkit-border-radius:5px;
 }
 &lt;strong&gt;#input_box&lt;/strong&gt;
 {
 text-align:left;
 width:640px;
 }
 &lt;strong&gt;#result&lt;/strong&gt;
 {
 text-align:left;
 }
 &lt;strong&gt;.title&lt;/strong&gt;
 {
 color:#006699;
 font-size:16px;
 padding-bottom:5px;
 }
 &lt;strong&gt;.title a&lt;/strong&gt;
 {
 color:#cc0000;
 text-decoration:none;
 }
 &lt;strong&gt;.desc&lt;/strong&gt;
 {
 color:#333;
 padding-bottom:5px;
 }
 &lt;strong&gt;.url&lt;/strong&gt;
 {
 color:#006600;
 }
 &lt;strong&gt;.webresult&lt;/strong&gt;
 {
 margin-top:10px;
 padding-bottom:10px;
 padding-left:5px;
 border-bottom:1px dashed #dedede;
 }
</pre>
<p style="text-align: center;"><a href="http://demo.le-bloc-note-de-tony-mirante.com/recherche-instantanee-avec-Bing-jQuery-Ajax/demo.zip"><img title="Télécharger" src="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/telecharger.png" alt="" width="266" height="78" /></a> <a href="http://demo.le-bloc-note-de-tony-mirante.com/recherche-instantanee-avec-Bing-jQuery-Ajax/" target="_blank"><img title="Démo" src="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/demo.png" alt="" width="266" height="78" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.le-bloc-note-de-tony-mirante.com/query/recherche-instantanee-avec-bing-jquery-ajax-175/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Poster un message sur Twitter via API</title>
		<link>http://www.le-bloc-note-de-tony-mirante.com/api-2/poster-un-message-sur-twitter-via-api-156</link>
		<comments>http://www.le-bloc-note-de-tony-mirante.com/api-2/poster-un-message-sur-twitter-via-api-156#comments</comments>
		<pubDate>Tue, 22 Feb 2011 09:16:29 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.le-bloc-note-de-tony-mirante.com/?p=156</guid>
		<description><![CDATA[Bien que je n&#8217;apprécie pas forcément Twitter, il m&#8217;est arrivé d&#8217;en avoir besoin pour mes clients. On va donc voir comment envoyer un tweet via une page php. Depuis le 1er septembre 2010, même pour envoyer un simple tweet,  il est nécessaire de s&#8217;enregistrer auprès de Twitter en déclarant une application. Avant cette date, il]]></description>
			<content:encoded><![CDATA[<p>Bien que je n&#8217;apprécie pas forcément Twitter, il m&#8217;est arrivé d&#8217;en avoir besoin pour mes clients.</p>
<p>On va donc voir comment envoyer un tweet via une page php.</p>
<p><img class="aligncenter size-full wp-image-157" title="twitter-api-envoyer-message" src="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/twitter-api-envoyer-message.png" alt="" width="470" height="170" /><a href="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/twitter-api-envoyer-message.png"><span id="more-156"></span></a></p>
<p>Depuis le 1er septembre 2010, même pour envoyer un simple tweet,  il est nécessaire de s&#8217;enregistrer auprès de Twitter en déclarant une application.</p>
<p>Avant cette date, il était possible d&#8217;envoyer simplement un tweet avec cURL, qui utilisait une authentification basique.</p>
<p>Il faut maintenant utiliser <a href="http://fr.wikipedia.org/wiki/OAuth" target="_blank">OAuth</a>, qui est beaucoup plus complexe mais pas d&#8217;inquiétude, on va simplifier tout ça.</p>
<p>1/ Connectez-vous sur <a href="http://twitter.com/" target="_blank">Twitter</a>, puis allez sur <a href="http://dev.twitter.com/" target="_blank">http://dev.twitter.com/</a></p>
<p>2/ Cliquez sur “Your Apps” puis “Register a new application”</p>
<p>3/ Remplissez les champs, n&#8217;oubliez pas de cocher <strong>“Read &amp; Write”</strong> au lieu de “Read-only” dans “Default Access type”.</p>
<p>Les autres  informations n&#8217;ont que peu d&#8217;importance, comme “callback url” qui ne  nous servira pas, mettez simplement l&#8217;adresse de votre site web par  exemple.</p>
<p>4/ Une fois l&#8217;application enregistrée, nous obtenons les clefs nécessaires  par la suite : en cliquant sur les détails de votre application, vous  verrez : <strong>Consumer key</strong> et <strong>Consumer secret</strong>.</p>
<p>5/ puis en cliquant sur <strong><em>My access token</em></strong>, vous obtiendrez <strong>Access Token (oauth_token) </strong>et<strong> Access Token Secret (oauth_token_secret)</strong></p>
<p>6/ Gardez ces informations sous le coude, on va en avoir besoin.</p>
<p>Gérer l&#8217;authentification OAuth est assez complexe et il existe des bibliothèques toutes faites en php.</p>
<p>J&#8217;ai choisi <a href="http://github.com/themattharris/tmhOAuth" target="_blank">tmhOAuth</a> de Matt Harris.</p>
<p>Il y a de nombreux exemples pour utiliser cette bibliothèque,  celui qui nous intéresse est celui qui permet d&#8217;envoyer un tweet (<a href="https://github.com/themattharris/tmhOAuth/blob/master/examples/tweet.php" target="_blank">ici</a>).</p>
<p>J&#8217;ai utilisé cet exemple pour créer cette fonction.</p>
<p>Quelques remarques :</p>
<ol>
<li>Renseignez les 4 champs consumer_key, consumer_secret, user_token et user_secret avec les informations obtenues ci-dessus.</li>
<li>Si votre $message est déjà codé en <strong>UTF-8</strong>, remplacez <strong>utf8_encode($message)</strong> par <strong>$message</strong></li>
</ol>
<p>Code php :</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php

/**
 * Envoie un message sur twitter (stat
 * Si le message, une fois encodé en UTF-8, fait plus de 140 caractères, alors il ne sera pas accepté par Twitter.
 *
 * @param $message Message à envoyer à Twitter
 * @return TRUE ou FALSE
 */
function tweet($message) {
 require 'tmhOAuth.php';
 $tmhOAuth = new tmhOAuth(array(
 'consumer_key' =&gt; '',
 'consumer_secret' =&gt; '',
 'user_token' =&gt; '',
 'user_secret' =&gt; '',
 ));

 $tmhOAuth-&gt;request('POST', $tmhOAuth-&gt;url('statuses/update'), array(
 'status' =&gt; utf8_encode($message)
 ));

 if ($tmhOAuth-&gt;response['code'] == 200) {
 // En cours de dév, afficher les informations retournées :
 //  $tmhOAuth-&gt;pr(json_decode($tmhOAuth-&gt;response['response']));
 return TRUE;
 } else {
 // En cours de dév, afficher les informations retournées :
 //  $tmhOAuth-&gt;pr(htmlentities($tmhOAuth-&gt;response['response']));
 return FALSE;
 }
}
?&gt;
</pre>
<p>Bon tweet <img src='http://www.le-bloc-note-de-tony-mirante.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://demo.le-bloc-note-de-tony-mirante.com/api-poster-un-message-sur-twitter/demo.zip"><img class="aligncenter size-full wp-image-60" title="Télécharger" src="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/telecharger.png" alt="" width="266" height="78" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.le-bloc-note-de-tony-mirante.com/api-2/poster-un-message-sur-twitter-via-api-156/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

