tag:blogger.com,1999:blog-40816410805711167742024-03-13T12:00:47.427-07:00T&NIQ : Tout et n'importe quoiTout & N'Importe Quoi !!!chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.comBlogger39125tag:blogger.com,1999:blog-4081641080571116774.post-75221769127852021762012-03-05T03:43:00.000-08:002012-03-05T03:44:38.993-08:00Trouver une salle des fêtes en locationchamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-81102648436576048582010-10-24T03:52:00.000-07:002010-10-24T04:15:52.618-07:00How to Build an RSS Reader with jQuery Mobile<a href="http://feedproxy.google.com/~r/nettuts/~3/fFHLetI-ewk/">How to Build an RSS Reader with jQuery Mobile</a>: "<p></p><p>In conjunction with the jQuery conference in Boston, John Resig announced and released the highly anticipated <a href="http://www.jquerymobile.com/">jQuery Mobile</a>. Though currently in an <em>alpha</em> state, the framework is fantastic. </p><br /><p>Today, we’ll dive in, and build a simple <a href="http://demo.jeffrey-way.com/tutsMobile/">Tuts+ RSS reader</a>, using PHP and jQuery Mobile. When we’re finished, you’ll have the ability to add this simple project to your iPhone or Android phone with the click of a button, as well as the skills to build your web apps!<br /><br /><span></span></p><br /><hr /><br /><h2> <span> Step 1:</span> Outline the Project </h2><br /><p>It’s always helpful to first outline what you want your project to do/achieve. </p><br /><ul><br /><li> Display a list of every Tuts+ site, along with its square logo</li><br /><li> Display the feed for each site, when clicked on</li><br /><li> Create a basic *article* stylesheet for rendering each posting</li><br /><li> Create an Apple-touch icon for the users who add the “app” to their phone</li><br /><li> Use YQL to retrieve the desired RSS feed </li><br /><li> Implement a basic form of “text file” caching every three hours </li><br /></ul><br /><hr /><br /><h2> <span> Step 2: </span>Begin </h2><br /><p><br />The next step is to begin creating our project. Go ahead and make a new folder — name it how you wish — and add a new <code>header.php</code> file. *Note that this project uses PHP. If you’re not familiar with this language, feel free to skip the PHP parts! Within this file, we’ll reference jQuery mobile, its stylesheet, and any other assets that we require. If only to stay organized, I’ve placed my <code>header.php</code> file within an <code>includes/</code> folder.</p><br /><pre name="code"><br /><!DOCTYPE html><br /><html><br /><head><br /><meta charset="utf-8"><br /><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /><br /><br /><title> Tuts+ </title><br /><br /><link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css" /><br /><link rel="apple-touch-icon" href="img/tutsTouchIcon.png" /><br /><br /><script src="http://code.jquery.com/jquery-1.4.3.min.js"></script><br /><script src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"></script><br /></head><br /></pre><br /><p>There are a handful of things worth noting here. </p><br /><ol><br /><li> An HTML5 doctype is required. But you should be using that anyways! </li><br /><li> The <code>X-UA-Compatible</code> tag forces IE to use it most current rendering engine </li><br /><li> We need to reference jQuery Mobile’s stylesheet. You can use their CDN, and save on bandwidth! </li><br /><li> If you want to designate an icon for when users add your webpage to their iPhone (or Android) home screen, add a <code>link</code> tag, with a <code>rel</code> attribute of <code>apple-touch-icon</code>. </li><br /><li> We’re referencing the most recent version of jQuery: 1.4.3 </li><br /><li> Finally, we’re loading the jQuery mobile script file (currently in Alpha 1) </li><br /></ol><br /><h3> The Basic Structure </h3><br /><p>The jQuery Mobile framework can be <em>activated</em> by applying unique <code> data-* </code> attributes to your code. The basic structure for most sites will look similar to: </p><br /><pre name="code"><br /><!-- Let's include the header file that we created above --><br /><?php include('includes/header.php'); ?><br /><body><br /><div data-role="page"><br /><br /><header data-role="header"><br /><br /></header><br /><br /><div data-role="content"><br /><br /></div><br /><br /><footer data-role="footer"><br /><br /></footer><br /><br /></div><br /><br /></body><br /></html><br /></pre><br /><p><em>Add the code above to a new <code> index.php</code> file, within the root of your project. </em> </p><br /><p>We have to <em>tell</em> jQuery about our project. For example, try not to think of each file as a <em>page</em>. Technically, you can create multiple <em>pages</em> at a time, by adding additional wrapping <code> data-role='page' </code> attributes. These are referred to as <em>inner pages</em>. </p><br /><p>Further, the framework has specific settings and stylings in place for the <code> header</code>, main content area, and <code> footer</code>. To inform jQuery Mobile about the locations of these elements, we add the following attributes. </p><br /><ul><br /><li> <code> data-role='header' </code> </li><br /><li> <code> data-role='content' </code> </li><br /><li> <code> data-role='footer' </code> </li><br /></ul><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/noData.jpg" alt="No Data Attributes Applied" /><br /><p><em> No <code> data-role</code> attributes have been applied. </em> </p><br /></div><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/dataApplied.jpg" alt="Data Applied" /><br /><p><em> <code> Data-role</code> attributes applied. </em> </p><br /></div><br /><h2> <span>Step 3: </span>Listing the Tutorial Sites </h2><br /><p><br />Now that the structure of our <code>index.php</code> page is complete, we can populate each section with our Tuts+ specific mark-up.<br /></p><br /><pre name="code"><br /><body><br /><div><br /> <header data-role="header"><br /> <h1> <img src="img/TLogo.png" alt="Tuts+"/> </h1><br /> </header><br /><br /> <div data-role="content"><br /> <ul><br /> <li><br /> <img src="img/ntLogo.jpg" alt="Nettuts" class="ui-li-icon"/><br /> <a href="site.php?siteName=nettuts"> Nettuts+ </a><br /> </li><br /> <li><br /> <img src="img/psdLogo.jpg" alt="Psdtuts" class="ui-li-icon"/><br /> <a href="site.php?siteName=psdtuts"> Psdtuts+ </a><br /> </li><br /> <li><br /> <img src="img/vectorLogo.jpg" alt="Vectortuts+" class="ui-li-icon"/><br /> <a href="site.php?siteName=vectortuts"> Vectortuts+ </a><br /> </li><br /> <li><br /> <img src="img/mobileLogo.png" alt="Mobiletuts+" class="ui-li-icon"/><br /> <a href="site.php?siteName=mobiletuts"> Mobiletuts+ </a><br /> </li><br /> <li><br /> <img src="img/aeLogo.jpg" alt="Aetuts+" class="ui-li-icon"/><br /> <a href="site.php?siteName=aetuts"> Aetuts+ </a><br /> </li><br /> <li><br /> <img src="img/photoLogo.jpg" alt="Phototuts+" class="ui-li-icon"/><br /> <a href="site.php?siteName=phototuts"> Phototuts+ </a><br /> </li><br /> <li><br /> <img src="img/cgLogo.jpg" alt="Cgtuts+" class="ui-li-icon"/><br /> <a href="site.php?siteName=cgtuts"> Cgtuts+ </a><br /> </li><br /> <li><br /> <img src="img/audioLogo.jpg" alt="Audiotuts+" class="ui-li-icon"/><br /> <a href="site.php?siteName=audiotuts"> Audiotuts+ </a><br /> </li><br /> <li><br /> <img src="img/wdLogo.jpg" alt="Webdesigntuts+" class="ui-li-icon"/><br /> <a href="site.php?siteName=webdesigntutsplus"> Webdesigntuts+ </a><br /> </li><br /> </ul><br /> </div><br /><br /> <footer data-role="footer"><br /> <h4> www.tutsplus.com </h4><br /> </footer><br /><br /></div><br /><br /></body><br /></html><br /></pre><br /><ul><br /><li><strong>Header: </strong> In this section, we’re simply inserting the Tuts+ graphic, and providing alternate text if images are turned off. </li><br /><li><strong>Content: </strong> In the content area, we need to list all of the tutorial sites, and apply a unique icon next to each heading. We also link to a new page, <code> site.php</code> that will handle the process of retrieving the RSS feed. For convenience, when we link to <code>site.php</code>, we also pass through the name of the selected site, via the querystring: <code>siteName=nettuts</code>. </li><br /><li><strong>Footer: </strong>At the bottom, for now, we’ll simply add a link to <a href="http://www.tutsplus.com/">Tuts+</a>. </li><br /></ul><br /><blockquote><br /><p><br /> jQuery Mobile offers a plethora of helpful CSS classes, including <code> ui-li-icon</code>. When applied to an image, it’ll float it to the left, and apply 10px worth of margin-right.<br /></p><br /></blockquote><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/nonListStyled.jpg" alt="Our project so far" /><br /><p><em>At this point, our site should look like the above image. </em> </p><br /></div><br /><h3> Page Transitions </h3><br /><p><br />As jQuery will load local pages asynchronously with AJAX, we can specify any number of cool page transitions. The default is the basic <em>slide-left</em> or <em>slide-right</em> effect that most touch-phone users are aware of. To override the default, use the <code>data-transition</code> attribute on the anchor tag. </p><br /><pre name="code"><br /><a href="site.php?siteName=nettuts" data-transition="pop"> Nettuts+ </a><br /></pre><br /><h4> Available <a href="http://jquerymobile.com/demos/1.0a1/#docs/pages/docs-transitions.html">Transitions</a> </h4><br /><ul><br /><li> slide </li><br /><li> slideup </li><br /><li> slidedown </li><br /><li> pop </li><br /><li> flip </li><br /><li> fade </li><br /></ul><br /><hr /><br /><h2> <span>Step 4: </span><a href="http://jquerymobile.com/demos/1.0a1/#docs/lists/index.html">ListViews</a> </h2><br /><p><br />Ehh – the image, shown above, still looks like a website. We need to make things a bit more phone-like. The answer is to use the <code> data-role='listview'</code> attribute. Watch what happens when we do nothing more than apply this attribute to the wrapping unordered list.<br /></p><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/listview.jpg" alt="Using the listview data-role attribute" /><br /></div><br /><p>Wow – what an improvement! Even better, we have access to theme-roller, which allows us, with the change of a single letter, to switch color themes. </p><br /><pre name="code"><br /><ul data-role="listview" data-theme="a"><br /></pre><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/themeA.jpg" alt="Theme A" /><br /></div><br /><pre name="code"><br /><ul data-role="listview" data-theme="b"><br /></pre><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/themeB.jpg" alt="Theme B" /><br /></div><br /><pre name="code"><br /><ul data-role="listview" data-theme="e"><br /></pre><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/themeE.jpg" alt="Theme E" /><br /></div><br /><h3> List Dividers </h3><br /><p><br />Now, what if we wanted to divide this list of tutorial sites? In these situations, we can take advantage of <code> data-role='list-divider'</code>, which can be applied to the <code> <li> </code>element.<br /></p><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/listDivider.jpg" alt="List Divider" /><br /></div><br /><p>These, too, can receive lettered theme roller stylings. They can be set within the parent <code><ul></code>. </p><br /><pre name="code"><br /><ul data-role="listview" data-dividertheme="d"><br /></pre><br /><div><br /><img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/dataDivider.jpg" alt="Divider Theme" /><br /><br /><em>Learn more about <a href="http://jquerymobile.com/demos/1.0a1/#docs/lists/lists-divider.html">list dividers.</a> </em><br /></div><br /><p><em>Note that we won’t be using dividers for this particular application. </em> </p><br /><hr /><br /><h2> <span>Step 5: </span>CSS </h2><br /><p><br />jQuery Mobile takes care of a great deal of the formatting, however, we still, of course, need our own stylesheet for tweaking. For example, looking at the images above, we can see that the tutorial icons need to be pushed up a bit. Additionally, I’d like to use the Tuts+ red for the background color of the heading and footer, rather than the default black. </p><br /><p>Create a new folder, <em>CSS</em>, and add a new stylesheet — I’ll call mine: <code>mobile.css</code>. Within this file, we’ll first fix the icon positioning:</p><br /><pre name="code"><br />.ui-li-icon {<br />top: 9px;<br />}<br /></pre><br /><p>Next, we’ll create a handful of classes, named after their respective tutorial sites. These classes will contain any specific formatting/colors for the site. For example, Nettuts+ has a darker green color, while MobileTuts+ is yellow. </p><br /><pre name="code"><br />.tuts { background: #c24e00; }<br />.nettuts { background: #2d6b61; }<br />.psdtuts { background: #af1c00; }<br />.vectortuts { background: #1e468e; }<br />.aetuts { background: #4a3c59; }<br />.phototuts { background: #3798aa; }<br />.cgtuts { background: #723b4a; }<br />.audiotuts { background: #4b7e00; }<br />.webdesigntutsplus { background: #0d533f; }<br />.mobiletuts { background: #dba600; }<br /></pre><br /><p>That should be fine for now. The last step for <code>index.php</code> is to apply the <code>.tuts </code> class to the <code>header</code> and <code>footer</code> elements. That way, the <code>header</code> and <code> footer </code>will render the correct background color. </p><br /><pre name="code"><br /><header data-role="header" class="tuts"><br />...<br /><footer data-role="footer" class="tuts"><br /></pre><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/tutsColorBG.jpg" alt="Added the Tuts Color" /><br /></div><br /><hr /><br /><h2> <span>Step 6: </span> YQL, PHP, and Caching </h2><br /><p><br />Now, it’s time to step away from the layout, and work on the functionality. Each of the links we created directed to <code> site.php?siteName='siteName'</code>. Let’s go ahead and create that file now.<br /></p><br /><p>Even though this is a relatively tiny app, we should still strive to follow best practices. In this case, it means that we should keep as little PHP in our document as possible. Instead, we’ll use <code> site.php </code>as a <code> controller </code>of sorts. This file will handle the initial logic, and will then, at the bottom, load in our HTML template. </p><br /><h4> Assigning the Site Name </h4><br /><p><br />In order to retrieve the desired RSS feed, we first need to capture the name of the site that the user clicked on initially. If you’ll refer to a previous step, when we linked to <code> site.php</code>, we also passed the name of the site through the querystring. With PHP, this can easily be retrieved, with <code> $_GET['siteName']</code>. However, what if, for some odd reason, this value doesn’t exist? Maybe <code> site.php </code> was accessed directly?? We should set a default site to compensate for these situations.<br /></p><br /><pre name="code"><br />$siteName = empty($_GET['siteName']) ? 'nettuts' : $_GET['siteName'];<br /></pre><br /><p> If <code> $_GET['siteName'] </code>is empty, we’ll set “nettuts” to the variable, <code> $siteName</code>. Otherwise, it’ll be equal to the name of the respective site. </p><br /><h4> Security </h4><br /><p>Even though this is a small project, let’s also try to set some security in place. To prevent the user from automatically assigning a potentially dangerous value to the <code>siteName</code> key, let’s ensure that the value is in fact the name of one of our tutorial sites. </p><br /><pre name="code"><br />// Prepare array of tutorial sites<br />$siteList = array(<br />'nettuts',<br />'flashtuts',<br />'webdesigntutsplus',<br />'psdtuts',<br />'vectortuts',<br />'phototuts',<br />'mobiletuts',<br />'cgtuts',<br />'audiotuts',<br />'aetuts'<br />);<br /><br />// If the string isn't a site name, just change to nettuts instead.<br />if ( !in_array($siteName, $siteList) ) {<br />$siteName = 'nettuts';<br />}<br /></pre><br /><p>The <code> in_array() </code> function allows us to determine if a value — in our case, the value of <code>$siteName</code> — is equal to one of the items in the <code> $siteList </code>array. </p><br /><h4> Caching </h4><br /><p>Ultimately, we’ll be using the excellent <a href="http://developer.yahoo.com/yql/">YQL</a> to perform our queries. Think of YQL as an API for APIs. Rather than having to learn twenty different APIs, YQL’s SQL-like syntax allows you to only learn one. However, though YQL does perform a bit of caching on its own, let’s also <em>save</em> the RSS feeds to a text file on our server. That way, we can improve performance a fair bit. </p><br /><p>We begin by creating a new variable, <code> $cache</code>, and making it equal to the location of where the cached file will be stored. </p><br /><pre name="code"><br />$cache = dirname(__FILE__) . '/cache/$siteName';<br /></pre><br /><p>The code above points to the current directory of the file, and then into a cache folder, and, finally, the name of the selected site. </p><br /><p>I’ve decided that this cached file should be updated every three hours. As such, we can run a quick <code> if </code>statement, and determine the last time that the file was updated. If the file does not exist, or the update was longer than three hours ago, we query YQL. </p><br /><pre name="code"><br />$cache = dirname(__FILE__) . "/cache/$siteName";<br />// Re-cache every three hours<br />if( filemtime($cache) < (time() - 10800) ) {<br />// grab the site's RSS feed, via YQL<br />}<br /></pre><br /><p>YQL is ridiculously easy to work with. In our case, we'll use it for a very simple purpose: grab the RSS feed, in JSON form, of the site that was passed through the querystring, via <code> siteName</code>. You can experiment with the various commands by using the YQL console. </p><br /><div><br /><a href="http://developer.yahoo.com/yql/console/"><br /><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/yqlConsole.jpg" alt="YQL Console" /><br /><br /></a><br /></div><br /><p>To query an RSS feed, we using the command: <code>SELECT * FROM feed WHERE url='path/to/rss/feed'</code>. </p><br /><ul><br /><li> <strong>Nettuts+ Feed: </strong>http://feeds.feedburner.com/nettuts </li><br /><li> <strong>Psdtuts+ Feed: </strong>http://feeds.feedburner.com/psdtuts </li><br /><li> <strong>Vectortuts+ Feed: </strong>http://feeds.feedburner.com/vectortuts</li><br /><li> etc. </li><br /></ul><br /><h4> Building the Path </h4><br /><p>For the sake of readability, we'll build up our YQL query in sections. </p><br /><pre name="code"><br />// YQL query (SELECT * from feed ... ) // Split for readability<br />$path = "http://query.yahooapis.com/v1/public/yql?q=";<br />$path .= urlencode("SELECT * FROM feed WHERE url='http://feeds.feedburner.com/$siteName'");<br />$path .= "&format=json";<br /></pre><br /><p>The key is the second part above; when the page loaded, we grabbed the name of the site from the querystring. Now, we only need to insert it into the <code> SELECT </code>query. Luckily, all of the tutorial sites use Feedburner! Make sure that you <code> urlencode </code> the query to replace any special characters. </p><br /><p>Okay, the path is ready; let's use <code> file_get_contents() </code> to grab the feed! </p><br /><pre name="code"><br />$feed = file_get_contents($path, true);<br /></pre><br /><p>Assuming that $feed is now equal to the returned JSON, we can store the results in a text file. However, let's first ensure that data was returned. As long as something is returned from the query, <code> $feed->query->count </code>will be equal to a value greater than zero. If it is, we'll open the cached file, write the data to the file, and finally close it. </p><br /><pre name="code"><br />// If something was returned, cache<br />if ( is_object($feed) && $feed->query->count ) {<br />$cachefile = fopen($cache, 'w');<br />fwrite($cachefile, $feed);<br />fclose($cachefile);<br />}<br /></pre><br /><p>It seems confusing, but it's really not. The function <code> fopen() </code> accepts two parameters: </p><br /><ul><br /><li> <strong>The file to open: </strong>We stored this path in the <code> $cache </code> variable at the top of the page. Note that, if this file doesn't exist, it will create the file for you. </li><br /><li> <strong>Access privileges: </strong>Here, we can specify which privileges are available. <code> w </code>stands for 'write.'</li><br /></ul><br /><p>Next, we open that file, and write the contents of <code> $feed </code>(the returned RSS JSON data) to the file, and close it. </p><br /><h4> Using the Cached File </h4><br /><p>Above, we first checked whether the cached file was greater than three hours old. </p><br /><pre name="code"><br />if( filemtime($cache) < (time() - 10800) ) {<br />// grab the site's RSS feed, via YQL<br />}<br /></pre><br /><p>But what if it wasn't? In that case, we run an <code> else </code>statement, and grab the contents of the text file, rather than using YQL. </p><br /><pre name="code"><br />if( filemtime($cache) < (time() - 10800) ) {<br />// grab the site's RSS feed, via YQL<br />....<br />}<br />else {<br />// We already have local cache. Use that instead.<br />$feed = file_get_contents($cache);<br />}<br /></pre><br /><p>Lastly, we can't do much with the JSON RSS feed until we decode it with PHP. </p><br /><pre name="code"><br />// Decode that shizzle<br />$feed = json_decode($feed);<br /></pre><br /><p>And that should do it for our <code> controller</code>! With the logic out of the way, let's include our HTML template. </p><br /><pre name="code"><br />// Include the view<br />include('views/site.tmpl.php');<br /></pre><br /><p> Here's our final <code>site.php</code>. Click on the <em>expand</em> icon to view it. </p><br /><pre name="code"><br /><?php<br />// If "siteName" isn't in the querystring, set the default site name to 'nettuts'<br />$siteName = empty($_GET['siteName']) ? 'nettuts' : $_GET['siteName'];<br /><br />$siteList = array(<br />'nettuts',<br />'flashtuts',<br />'webdesigntutsplus',<br />'psdtuts',<br />'vectortuts',<br />'phototuts',<br />'mobiletuts',<br />'cgtuts',<br />'audiotuts',<br />'aetuts'<br />);<br /><br />// For security reasons. If the string isn't a site name, just change to<br />// nettuts instead.<br />if ( !in_array($siteName, $siteList) ) {<br />$siteName = 'nettuts';<br />}<br /><br />$cache = dirname(__FILE__) . "/cache/$siteName";<br />// Re-cache every three hours<br />if(filemtime($cache) < (time() - 10800))<br />{<br />// Get from server<br />if ( !file_exists(dirname(__FILE__) . '/cache') ) {<br /> mkdir(dirname(__FILE__) . '/cache', 0777);<br />}<br />// YQL query (SELECT * from feed ... ) // Split for readability<br />$path = "http://query.yahooapis.com/v1/public/yql?q=";<br />$path .= urlencode("SELECT * FROM feed WHERE url='http://feeds.feedburner.com/$siteName'");<br />$path .= "&format=json";<br /><br />// Call YQL, and if the query didn't fail, cache the returned data<br />$feed = file_get_contents($path, true);<br /><br />// If something was returned, cache<br />if ( is_object($feed) && $feed->query->count ) {<br /> $cachefile = fopen($cache, 'wb');<br /> fwrite($cachefile, $feed);<br /> fclose($cachefile);<br />}<br />}<br />else<br />{<br />// We already have local cache. Use that instead.<br />$feed = file_get_contents($cache);<br />}<br /><br />// Decode that shizzle<br />$feed = json_decode($feed);<br /><br />// Include the view<br />include('views/site.tmpl.php');<br /></pre><br /><hr /><br /><h2><span>Step 7: </span>The Site Template </h2><br /><p><br />At the end of the previous step, we loaded in our template (or view). Go ahead and create that <code>views</code> folder, and <code>site.tmpl.php</code> file. Feel free to name it how you wish. Next, we'll insert our HTML.<br /></p><br /><pre name="code"><br /><?php include('includes/header.php'); ?><br /><body><br /><br /><div data-role="page"><br /><br /><header data-role="header" class="<?php echo $siteName; ?>"><br /> <h1><?php echo ucwords($siteName).'+'; ?></h1><br /></header><br /><br /><div data-role="content"><br /> <ul data-role="listview" data-theme="c" data-dividertheme="d" data-counttheme="e"><br /><br /> </ul><br /></div><br /><br /><footer data-role="footer" class="<?php echo $siteName; ?>"><br /> <h4> www.tutsplus.com</h4><br /></footer><br /></div><br /><br /></body><br /></html><br /></pre><br /><h4> Points of Interest Above </h4><br /><ul><br /><li> Notice how we follow the same basic layout: header, content area, footer.</li><br /><li> As this template will be used for every Tuts+ tutorial site, we need to set the title dynamically. Luckily, if you remember, the site name was passed through the querystring, and stored in the <code> $siteName </code> variable (like, 'nettuts'). To capitalize the first letter, and apply the signature <em>+</em> after the name, we'll run the variable through <code> ucwords() </code> (uppercases the first letter of each word in the string), and append a <em>'+'</em>: <code><h1><?php echo ucwords($siteName).'+'; ?></h1></code> </li><br /><li>We'll soon be displaying the number of comments for each posting next to the title. We can, again, use ThemeRoller to style it, via the <code>data-counttheme='e'</code> attribute.<br /></li></ul><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/nettutsNone.jpg" alt="Site Template Thus Far" /><br /></div><br /><h4> Filtering Through the Feed </h4><br /><p>At this point, we have access to the <code> $feed </code> object that contains our RSS feed. To dissect this object, you can either <code> print_r($feed)</code>, or use the YQL console for a prettier view. We'll use the latter in this case. <a href="http://developer.yahoo.com/yql/console/#h=SELECT%20*%20FROM%20feed%20WHERE%20url%3D%22http%3A//feeds.feedburner.com/nettuts%22">Check it out.</a> </p><br /><div><br /><a href="http://developer.yahoo.com/yql/console/#h=SELECT%20*%20FROM%20feed%20WHERE%20url%3D%22http%3A//feeds.feedburner.com/nettuts%22"><br /><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/yqlQueryConsole.png" alt="Dissecting the feed" /><br /><br /></a><br /></div><br /><p>To grab the data for each posting, we need to filter through: <code> $feed->query->results->item</code>. PHP makes this a cinch with <code> foreach()</code>. </p><br /><p>Within the <code> foreach() </code> statement, we can now access the desired values with <code> $item->title</code>, or <code> $item->comments</code>, which will display the title, and the comment number, respectively. Add the following within the <code> <ul></code> tags.</p><br /><pre name="code"><br /><ul data-role="listview" data-theme="c" data-dividertheme="d" data-counttheme="e"><br /><?php<br /> foreach($feed->query->results->item as $item) { ?><br /><br /> <li><br /> <h2><br /> <a href="article.php?siteName=<?php echo $siteName;?>&origLink=<?php echo urlencode($item->guid->content); ?>"><br /> <?php echo $item->title; ?><br /> </a><br /> </h2><br /> <span class="ui-li-count"><?php echo $item->comments; ?> </span><br /></li><br /><br /><?php } ?><br /></ul><br /></pre><br /><p> In the code above, we build up a list item, containing the title of the posting, the number of comments, and a link to <code>article.php</code> that also contains the site name and the permanent link (to the original article on the Tuts+ site) in the query-string. </p><br /><p>When we view the updated page in the browser, tada! </p><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/nettutsForEach.jpg" alt="Recent article list" /><br /></div><br /><p>Notice how the comment count is in a yellow bubble, and is floated to the right? That's because we applied the <code>data-counttheme='e' </code> attribute to the wrapping unordered list. How convenient. </p><br /><p>Hmm...I think the text is too large for these long titles. A quick visit to Firebug shows that I can target the <code>h2</code> tags with a class of <code>.ui-li-heading</code>. Let's return to our stylesheet (mobile.css), and add a new rule: </p><br /><pre name="code"><br />.ui-li-heading { font-size: 12px; }<br /></pre><br /><p>That's better. </p><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/smallerheadingsView.jpg" alt="Applying a smaller heading size" /><br /></div><br /><hr /><br /><h2><span>Step 8: </span>Displaying the Full Posting </h2><br /><p><br />The final step is to build <code>article.php</code>, which will display the entire posting. As with <code>site.php</code>, <code>article.php</code> will serve as our <em>controller</em>, and will query the selected article with YQL, and load the appropriate view. </p><br /><pre name="code"><br /><?php<br /><br />$siteName = $_GET['siteName'];<br />$origLink = $_GET['origLink'];<br /><br />// YQL query (SELECT * from feed ... ) // Split for readability<br />$path = "http://query.yahooapis.com/v1/public/yql?q=";<br />$path .= urlencode("SELECT * FROM feed WHERE url='http://feeds.feedburner.com/$siteName' AND guid='$origLink'");<br />$path .= "&format=json";<br /><br />$feed = json_decode(file_get_contents($path));<br />$feed = $feed->query->results->item;<br /><br />include('views/article.tmpl.php');<br /></pre><br /><p>If you've been following along, the code above should look a bit more familiar to you. When we loaded this page, from <code>site.php</code>, we passed through two items, via the query string: </p><br /><ul><br /><li><strong>Site Name: </strong>Contains the name of the currently selected tutorial site </li><br /><li> <strong>Orig Link: </strong>A link to the original posting on the tutorial site </li><br /></ul><br /><p>The difference with the YQL query, this time, is that we match the <code>guid</code> (orig link) with the posting that the user clicked on (or pressed). This way, exactly one posting will be returned. <a href="http://developer.yahoo.com/yql/console/#h=SELECT%20*%20FROM%20feed%20WHERE%20url%3D%22http%3A//feeds.feedburner.com/nettuts%22%20AND%20guid%3D%22http%3A//net.tutsplus.com/%3Fp%3D15284%22">Check out this sample YQL query to gain a better idea of what I mean. </a> </p><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/guidQuery.jpg" alt="New YQL query" /><br /></div><br /><h4> Article Template </h4><br /><p><br />At the bottom of the code above, we loaded the template file for the article page: <code>views/article.tmpl.php</code>. We'll create that file now.<br /></p><br /><pre name="code"><br /><?php include('includes/header.php'); ?><br /><body><br /><br /><div data-role="page"><br /><br /><header data-role="header" class="<?php echo $siteName; ?>"><br /> <h1> <?php echo ucWords($siteName).'+'; ?> </h1><br /></header><br /><br /><div data-role="content"><br /> <h1> <?php echo $feed->title; ?> </h1><br /> <div> <?php echo $feed->description; ?> </div><br /></div><br /><br /><footer data-role="footer" class="<?php echo $siteName; ?>"><br /> <h4> <a href="<?php echo $feed->guid->content;?>"> Read on <?php echo ucWords($siteName); ?>+</a></h4><br /></footer><br /></div><br /><br /></body><br /></html><br /></pre><br /><p>Ah - so familiar. We've already gone over this template. The only difference is that, this time, because there's only one posting from the YQL query to display, we don't need to bother with a <code>foreach()</code> statement. </p><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/unstyledArticle.jpg" alt="Unstyled Article Page" /><br /><br /><em>Unstyled article page </em><br /></div><br /><p>At this point, on your own, the next step would be to begin applying your desired styling to the article. I don't see a need to go over it in this tutorial, as it all comes down to personal taste. Here's my super-minimal version. </p><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/psdStyled.jpg" alt="Minimally styled article page" /><br /><br /><em>Applying a font-size, line-height, padding, and image formatting. </em><br /></div><br /><h4> Locked Footers </h4><br /><p>One last thing: in the footer section of the article, we link to the original posting on Nettuts+. In its current state, the reader will only see that when they reach the bottom of the article. Let's lock the footer to the bottom of the current view-point at all times. We can use the <code>data-position</code> attribute to achieve this. </p><br /><pre name="code"><br /><footer data-role="footer" data-position="fixed"><br /> <h4> <a href="<?php echo $feed->guid->content;?>"> Read on <?php echo ucWords($siteName); ?>+</a></h4><br /></footer><br /></pre><br /><p>That's better!</p><br /><hr /><br /><h2> We're Done! </h2><br /><p>And, with relatively little work, we've successfully built a mobile RSS reader for the Tuts+ sites. It can certainly be expanded to provide additional features, error checking, and performance improvements, but this will hopefully get you started! If you'd like to <a href="http://github.com/JeffreyWay/Tuts----jQuery-Mobile-RSS-Reader">fork the project and make it better</a>, by all means...do! Thanks for reading, and be sure to refer to the <a href="http://github.com/JeffreyWay/Tuts----jQuery-Mobile-RSS-Reader">jQuery Mobile documentation</a> for more details. I've no doubt that you'll come across more jQuery mobile tutorials on our sister site, <a href="http://mobile.tutsplus.com/">Mobiletuts+</a>.</p><br /><h3> Add the Reader to your iPhone Home Screen </h3><br /><div><br /> <img src="http://d2o0t5hpnwv4c1.cloudfront.net/824_tutsMobile/addApp.jpg" alt="Add to Home Screen" /><br /><br /><em><a href="http://demo.jeffrey-way.com/tutsMobile/">View the Demo</a> or <a href="http://github.com/JeffreyWay/Tuts----jQuery-Mobile-RSS-Reader">Make it Better!</a> </em><br /></div><div><br /> </div><img src="http://feeds.feedburner.com/~r/nettuts/~4/fFHLetI-ewk" height="1" width="1" />chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-52355006327889668692010-01-13T23:53:00.001-08:002010-01-13T23:54:56.806-08:00Sfr - neuf box : Appels illimités vers les fixes au Maroc<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nt-myIXK9DQ/S07Nl_2CWOI/AAAAAAAABHY/TyjHxeAV-94/s1600-h/Sans+titre.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 228px; height: 320px;" src="http://2.bp.blogspot.com/_nt-myIXK9DQ/S07Nl_2CWOI/AAAAAAAABHY/TyjHxeAV-94/s320/Sans+titre.jpg" alt="" id="BLOGGER_PHOTO_ID_5426500653704960226" border="0" /></a>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-24788163321455925192009-11-26T15:29:00.000-08:002009-12-01T10:02:47.839-08:0023 invitations pour google wave<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nt-myIXK9DQ/SwFCkG3VBtI/AAAAAAAABGg/c_YCZL2c920/s1600/google_wave_logo.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 256px; height: 256px;" src="http://1.bp.blogspot.com/_nt-myIXK9DQ/SwFCkG3VBtI/AAAAAAAABGg/c_YCZL2c920/s320/google_wave_logo.png" alt="" id="BLOGGER_PHOTO_ID_5404674215906707154" border="0" /></a><br /><br />Pour avoir les invitations c'est très simple; laisser un commentaire avec votre email et attendre le tirage au sort via random.org<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><span style="color: rgb(51, 204, 0);font-size:180%;" ><span style="font-weight: bold;">Et les gagnants sont :</span></span><br /><br /><span style="font-weight: bold; color: rgb(255, 0, 0);">Tout ceux qui postent leurs adresses mails ;<br /> - bahuet@gmail.com,<br /> - wevertonbessa@gmail.com,<br /> - freedemind@gmail.com </span><br /><br /><br /><span style="font-weight: bold; color: rgb(255, 0, 0);">pour les autres qui ont déja posté veuillez envoyer vos adresses email sur ce post pour recevoir les invitations.<br /><br /><br /></span><span style="color: rgb(51, 255, 51); font-style: italic; font-weight: bold;font-family:lucida grande;" >Pour info, reste encore une vigntaine d'invitations.</span><span style="font-weight: bold; color: rgb(255, 0, 0);"><br /></span>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com10tag:blogger.com,1999:blog-4081641080571116774.post-39401567131871192032009-11-17T03:04:00.000-08:002009-11-17T03:16:54.063-08:00Test du Nokia N900 sous Maemo 5, où quand un ordinateur se transforme en smartphone<div style="float: right; padding-left: 6px; text-align: left;"><a href="http://www.mobinaute.com/visualiser-2603054.html" title="N900" target="_blank"><img src="http://img.neteco.com/photo/00FA000002603054.jpg" alt="N900" border="0" /></a></div> <div style="text-align: left;">Nokia va lancer dans les prochains jours en France un nouveau téléphone mobile haut de gamme. Prenant la place du N97 en devenant le nouveau fleuron de la marque, le N900 n'est pas à propremen t un téléphone. Il s'agit plutôt d'un ordinateur miniaturis é équipé de fonctions de téléphonie.<br /><br />Ainsi, si les tablettes N800 et N810 ne permettaient que d'utiliser des fonctions de voix sur IP, la tablette hybride N900 permet pour sa part d'envoyer des SMS (mais pas de MMS), des emails ou d'effectuer des appels GSM. Et après les systèmes Series 40 sur ses featurephones et Symbian S60 sur ses smartphones, Nokia a choisi d'utiliser sur le N900 un système GNU/Linux baptisé « Maemo 5 ».<br /><br /><div><embed src="http://www.neteco.com/v/304720" allowscriptaccess="always" allowfullscreen="true" height="310" width="460"></embed><br /></div></div>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-72929093103575074642009-11-16T04:09:00.000-08:002009-11-17T03:27:47.408-08:004 invitations Google Wave<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nt-myIXK9DQ/SwFCkG3VBtI/AAAAAAAABGg/c_YCZL2c920/s1600/google_wave_logo.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 256px; height: 256px;" src="http://1.bp.blogspot.com/_nt-myIXK9DQ/SwFCkG3VBtI/AAAAAAAABGg/c_YCZL2c920/s320/google_wave_logo.png" alt="" id="BLOGGER_PHOTO_ID_5404674215906707154" border="0" /></a><br /><br />Pour avoir les invitations c'est très simple; laisser un commentaire avec votre email et attendre le tirage au sort via random.org<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><span style="color: rgb(51, 204, 0);font-size:180%;" ><span style="font-weight: bold;">Et les gagnants sont :</span></span><br /><br /><h2>List Randomizer</h2> <p>There were 6 items in your list. Here they are in random order:</p> <ol><li style="color: rgb(255, 0, 0); font-weight: bold;">pascualvico@gmail.com</li><li style="color: rgb(255, 0, 0); font-weight: bold;">isontheline@gmail.com</li><li style="color: rgb(255, 0, 0); font-weight: bold;">iman.rad@gmail.com</li><li style="color: rgb(255, 0, 0); font-weight: bold;">Prolag</li><li>element.hihi@gmail.com</li><li>batiot@gmail.com</li></ol> <p>Timestamp: 2009-11-17 11:21:32 UTC</p><p><span style="font-weight: bold; font-style: italic;">Invitations envoyées</span><br /></p><p><br /></p>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com6tag:blogger.com,1999:blog-4081641080571116774.post-65304779760407193492009-11-15T12:39:00.000-08:002009-11-15T12:43:31.116-08:00Sygic disponible sur Maemo 5<p>La société Sygic vient d’annoncer sur <a title="Sygic annonce le portage de son logiciel GPS sous Maemo" href="http://www.sygic.com/index.php/en/press-releases/press-news/225-sygics-turn-by-turn-navigation-compatible-with-new-nokia-maemo-phones.html" target="_blank">son site</a> que son célèbre logiciel GPS du même nom est maintenant pleinement compatible avec Maemo 5.<br />Il sera donc possible d’installer ce logiciel GPS (payant) intégrant carte et guidage vocal dans le N900. En effet, cette application sera disponible à l’achat électronique directement depuis le site de Sygic d’ici la fin de l’année 2009.</p> <p>Sygic est une entreprise Slovaque qui été fondée en 2004 et propose son logiciel sur un large choix de plateforme mobile tels que Symbian, Windows Mobile, Android et Iphone OS. Ceci à l’avantage d’accélérer le portage sur Maemo des cartes et des spécificités régionales actuellement disponibles dans les versions existantes de Sygic Mobile Maps. Ces régions sont : Australie et Nouvelle Zélande, Asie du Sud Est (incluant Thaïlande, Singapour, Malaisie et Indonésie), Brésil, Colombie, Amérique du Nord (incluant USA, Canada et Mexique), l’Europe dans sa globalité, Royaume Uni et Irlande, Russie, les pays du Golf (Bahrain, Kowait, Oman, Qatar, Arabie Saoudite et les Émirats Arabes Unis).</p> <p><span id="more-594"></span></p> <p>« Nous sommes heureux d’annoncer la compatibilité de Sygic Mobile Maps avec le nouvel OS Maemo 5 de Nokia. Nous sommes actuellement en train de finaliser les tests de qualité. Nous travaillons dur afin de pouvoir sortir le produit à la fin de l’année 2009, mais nous n’hésiterons pas à avancer la date de disponibilité si le logiciel est prêt avant » a commenté Anna Hurbanic, le responsable des relations publics de Sygic.</p> <div><img style="width: 492px; height: 438px;" src="http://www.sygic.com/images/stories/press/Sygic_on_Nokia_N900_Maemo_Brimingham_landscape_lores.png" alt="" /></div> <p>Merci à <strong>Docteur cinoque</strong> et <strong>mosbah</strong>, de nous avoir fait part de cette nouvelle.</p> <p>Afin d’apporter quelques informations supplémentaires sur Sygic Mobile Maps, et en attendant que cette application soit disponible pour le N900, je vous invite à lire le test proposer par <a title="Test de Sygic Mobile sous Android - Frandroid" href="http://www.frandroid.com/5769/test-du-navigateur-gps-sygic/" target="_blank">frandroid</a> sous Android. Même si certaines aspects du logiciel risques d’être modifiés pour s’adapter à Maemo, je pense que ce test permettra de savoir ce que propose Sygic Mobile Maps.</p><p><br /></p><p><br /></p><p>source : <a target="_blank" href="http://www.maemofrance.fr/2009/11/apps-sygic-disponible-sur-maemo-5/">MaemoFrance</a><br /></p>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-9455209916611312782009-11-13T14:37:00.000-08:002009-11-13T14:42:07.866-08:00Des accessoires pour le Motorola Droid<p>Avec l’arrivée d’Android 2.0 et de son logiciel de Navigation, il devient impératif de disposer d’un système pour maintenir le téléphone en place, face au conducteur. Motorola et Verizon comblent ce manque aux US en proposant un système de montage pour automobile pour la modique somme de 29.9 dollars.</p> <p>Dans le même ordre d’idée, vous pouvez transformer votre téléphone en réveil grâce au socle vendu au même prix par les mêmes acteurs.</p> <p style="text-align: center;"><img class="size-full wp-image-6854 aligncenter" title="motorola-droid-accessories" src="http://www.frandroid.com/wp-content/uploads/2009/11/motorola-droid-accessories.jpg" alt="motorola-droid-accessories" height="171" width="444" /></p> <p>Ces deux accessoires utilisent des aimants pour déterminer si le téléphone est sur son socle. Le Motorola Droid passera donc automatiquement en mode « Voiture » ou « Multimedia » une fois posé sur son socle.</p><a target="_blank" href="http://phandroid.com/2009/10/29/motorola-droid-car-mount-multimedia-dock-29-99-each/">En savoir plus</a><br /><br />source : <a target="_blank" href="http://www.frandroid.com/6853/des-accessoires-pour-le-motorola-droid/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Frandroid+%28FrAndroid%29">frandroid</a>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-54701766753211772842009-11-13T14:33:00.000-08:002009-11-13T14:42:33.317-08:00Android Dev Phone 2 : Nouveau terminal Android pour développeurs<!-- end header --> <p>Google vient de mettre à disposition un nouveau terminal pour les développeurs : Android Dev Phone 2 !</p> <p>Tout comme son grand frère l’Android Dev Phone 1 qui n’était autre qu’un HTC Dream débloqué et disposant des droits roots, l’Android Dev Phone 2 est un terminal Android à destination des développeurs.</p> <p><img class="alignnone size-full wp-image-9249" title="adp2" src="http://www.pointgphone.com/wordpress/wp-content/uploads/2009/11/adp2.jpg" alt="adp2" height="352" width="362" /></p> <p>Disponible pour 399 dollars, l’Android Dev Phone 2 est un HTC Magic entièrement débloqué et utilisable dans le monde entier qui permettra aux développeurs de tester leurs applications dans des conditions idéales.</p> <p>Mais avec sa belle couleur noire et bleue je suis sûr qu’il n’y a pas que des développeurs qui se laisseraient tenter…</p><p>source : <a href="http://www.pointgphone.com/android-dev-phone-2-terminal-android-developpeurs-9248">pointgphone</a><br /></p> <p><a href="http://android.brightstarcorp.com/index_adp2.htm" target="_blank"><br /></a></p>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-47693336802050083712009-11-13T07:25:00.000-08:002009-11-13T07:27:57.666-08:00100 buzz en 3'24Les meilleurs buzz du web :<br />100 buzz en 3'24<br /><object name="iLyROoafI4dk" id="iLyROoafI4dk" type="application/x-shockwave-flash" data="http://sa.kewego.com/swf/p3/epix.swf" height="300" width="400"> <param name="flashVars" value="language_code=fr&playerKey=288fa8f5caa3&skinKey=57c903ad4992&sig=iLyROoafI4dk&autostart=false"> <param name="movie" value="http://sa.kewego.com/swf/p3/epix.swf"> <param name="allowFullScreen" value="true"> <param name="allowscriptaccess" value="always"></object><div style="width: 400px;"><br /><br /><div><br /><a href="http://video.lematin.ch/search/?q=internet"></a> </div> <div style="text-align: right;"> Video de <a target="_blank" href="http://video.lematin.ch/search/?q=user:matinonline">matinonline</a> </div></div>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-40171843041044536552009-08-31T00:43:00.001-07:002009-08-31T01:11:02.320-07:00N900 : Nokia dévoile sa tablette tactile sous Maemo 5<div style="float: right; padding-left: 6px; text-align: center;"><a rel="galerie photo" onclick="javascript:return false;" class="thickbox" title="Nokia N900" href="http://img.clubic.com/photo/02376920.jpg"><img alt="Nokia N900" src="http://img.clubic.com/photo/00FA000002376920.jpg" border="0" /></a></div> A quelques jours de sa conférence annuelle « Nokia World » organisée cette année à Stuttgart, le géant Finlandais des mobiles vient d'officialiser l'existence de sa nouvelle tablette téléphone : « Nokia N900 ».<br /><br /><br /><br /><br /><br />Elle intègre un processeur ARM Cortex-A8 cadencé à 600 Mhz, 1 Go de mémoire vive et une puce graphique compatible OpenGL ES 2.0. Prenant la succession de ses tablettes N800 et N810, la N900 dispose d'un système d'exploitation multitâche baptisé « Maemo 5 » et dérivé de GNU/Linux. Son interface tactile a été entièrement revue, permettant d'être personnalisée, notamment via un système de widgets.<br /><br /><br />Intégrant pas moins de 32 Go d'espace de stockage extensible via un emplacement Micro SD, la Nokia N900 possède de plus un écran tactile WVGA de 3,5 pouces, une compatibilité tribande 3G+ HSPA et WiFi et enfin un appareil photo numérique de 5 megapixels avec optique Carl Zeiss. Son <i>form factor</i> laisse apparaître un clavier AZERTY coulissant tandis que son offre logicielle associée est plutôt fournie. Pour le reste, elle intègre une puce A-GPS, une prise audio jack de 3,5 mm, une sortie TV, un transmetteur FM, le Bluetooth 2.1 et une batterie d'une capacité de 1320 mAh. Ses dimensions sont de 110,9 x 59,8 x 18 mm pour 181 grammes.<br /><br /><br /><div align="center"><div style="padding: 0pt 4px; display: inline;"><a rel="galerie photo" onclick="javascript:return false;" class="thickbox" title="Nokia N900" href="http://img.clubic.com/photo/02376930.jpg"><img alt="Nokia N900" src="http://img.clubic.com/photo/0140000002376930.jpg" border="0" /></a></div> </div><br /><br /><br />Elle permet d'utiliser un navigateur web de Mozilla (Fennec), de gérer des vidéos en Flash 9.4, ses emails via Nokia Messaging et enfin des logiciels de messagerie instantanée et de SMS. Détail intéressant, le système interne de la Nokia N900 pourra être mis à jour directement par les airs. La tablette Nokia N900 sera commercialisée à partir du mois d'octobre dans certains marchés pour un prix de 649 euros.<br /><br /><br />La tablette N900 est la première de la marque à être dotée d'une couche complète de téléphonie. Contrairement aux tablettes N800 et N810 qui ne pouvaient être utilisées que pour leurs fonctions de voix sur IP, la N900 permet d'appeler et d'être appelé via ses fonctions GSM. Si les smartphones sont utilisés avant tout pour téléphoner et ensuite pour leurs fonctions d'ordinateur de poche, la tablette N900 est optimisée pour gérer l'inverse.<br /><br /><br /><p><strong>Nokia N900</strong><br /><br /><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" height="340" width="500"><param value="true" name="allowFullScreen"><param value="always" name="allowscriptaccess"><param value="http://www.youtube.com/v/GhTtsZATwBQ&hl=en&fs=1&rel=0&color1=0x5d1719&color2=0xcd311b" name="src"><param value="true" name="allowfullscreen"><embed allowfullscreen="true" allowscriptaccess="always" src="http://www.youtube.com/v/GhTtsZATwBQ&hl=en&fs=1&rel=0&color1=0x5d1719&color2=0xcd311b" type="application/x-shockwave-flash" height="340" width="500"></embed></object></p><br /><p><strong>N900 interaction documentary</strong><br /><br /><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" height="340" width="500"><param value="true" name="allowFullScreen"><param value="always" name="allowscriptaccess"><param value="http://www.youtube.com/v/RP5R-5NX1BE&hl=en&fs=1&rel=0&color1=0x5d1719&color2=0xcd311b" name="src"><param value="true" name="allowfullscreen"><embed allowfullscreen="true" allowscriptaccess="always" src="http://www.youtube.com/v/RP5R-5NX1BE&hl=en&fs=1&rel=0&color1=0x5d1719&color2=0xcd311b" type="application/x-shockwave-flash" height="340" width="500"></embed></object></p><br /><p><strong>Maemo 5 user interface</strong><br /><br /><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" height="340" width="500"><param value="true" name="allowFullScreen"><param value="always" name="allowscriptaccess"><param value="http://www.youtube.com/v/Au_uRmoy8Fs&hl=en&fs=1&rel=0&color1=0x5d1719&color2=0xcd311b" name="src"><param value="true" name="allowfullscreen"><embed allowfullscreen="true" allowscriptaccess="always" src="http://www.youtube.com/v/Au_uRmoy8Fs&hl=en&fs=1&rel=0&color1=0x5d1719&color2=0xcd311b" type="application/x-shockwave-flash" height="340" width="500"></embed></object></p><br /><br /><br />Liens : <br /><br /><a href='http://maemo.nokia.com/n900/' target="_blank" >N900</a><br /><a href='http://maemo.nokia.com/' target="_blank" >Maemo</a><br /><a href='http://maemo.nokia.com/n900/specifications/' target="_blank" >Spécifications</a><br /><a href='http://www.nokian900.com/' target="_blank" >Nokia N900 Phone Unofficial website</a>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-92233150772548964272009-08-28T02:54:00.000-07:002009-08-28T08:00:27.954-07:00Voyage Immonot mongolfière 2009-08-28Super Sympa<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nt-myIXK9DQ/Speq7r5o3sI/AAAAAAAAAfc/Yud0sfFRoxw/s1600-h/DSC02299.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 180px;" src="http://4.bp.blogspot.com/_nt-myIXK9DQ/Speq7r5o3sI/AAAAAAAAAfc/Yud0sfFRoxw/s320/DSC02299.JPG" alt="" id="BLOGGER_PHOTO_ID_5374952622663458498" border="0" /></a>Lien pour les <span style="font-size:180%;"><a target="_blank" href="http://picasaweb.google.fr/chamss19/20090828Mongolfiere#">photos </a></span><br /><br />et pour les vidéos (A regarder en <span style="color: rgb(255, 0, 0);font-size:180%;" >HD</span>) :<br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Part 1 :</span><br /><object style="font-weight: bold;" height="344" width="425"><param name="movie" value="http://www.youtube.com/v/8pGaBvhgZxE&hl=fr&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/8pGaBvhgZxE&hl=fr&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"></embed></object><br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Part 2 :</span><br /><object style="font-weight: bold;" height="344" width="425"><param name="movie" value="http://www.youtube.com/v/M4l1-lesbUs&hl=fr&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/M4l1-lesbUs&hl=fr&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"></embed></object><br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Part 3 :</span><br /><object style="font-weight: bold;" height="344" width="425"><param name="movie" value="http://www.youtube.com/v/kJQiYPI6G1A&hl=fr&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/kJQiYPI6G1A&hl=fr&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"></embed></object><br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Part 4 :</span><br /><object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/8rSziYfNRPA&hl=fr&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/8rSziYfNRPA&hl=fr&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"></embed></object><br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Part 5 :</span><br /><object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/EvhSgClMuEs&hl=fr&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/EvhSgClMuEs&hl=fr&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"></embed></object><br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Part 6 :</span><br /><object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/rE805lz0nNY&hl=fr&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/rE805lz0nNY&hl=fr&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"></embed></object><br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Part 7 :</span><br /><object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/GH1bZtNzlVw&hl=fr&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/GH1bZtNzlVw&hl=fr&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"></embed></object><br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Part 8 :</span>(disponible bientôt)<br /><object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/fed0KoLxBA4&hl=fr&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/fed0KoLxBA4&hl=fr&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"></embed></object><br /><br />Merci <a href="http://www.immonot.com/" target="_blank" alt="Immonot, immobilier des notaires">Immonot</a> !!!chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-82021042688671218722009-07-09T00:05:00.000-07:002009-07-09T00:08:44.991-07:00Le Sénat adopte Hadopi 2... sans passion<p><br /> Parce que le temps commencer à presser, le texte a été inscrit en urgence au Parlement. Une seule lecture par assemblée et c'est tout. Celle au Sénat vient de se terminer. </p> <br /><p style="text-align: center;"><img width="328" height="410" alt="Le Sénat adopte le projet de loi Hadopi 2" src="http://medias.lepost.fr/ill/2009/07/08/h-20-1612787-1247085997.jpg" title="Le Sénat adopte le projet de loi Hadopi 2"/></p><p style="text-align: center;"><a rel="nofollow" target="_blank" href="http://www.gdblog.info" title="http://www.gdblog.info"><font size="1"><span style="font-size: xx-small;">(Dessin: gdblog)</span></font></a></p><p>Suite à la censure du conseil constitutionnel, la deuxième version du volet répressif de la loi Hadopi a été adopté mercredi par le Sénat. Les groupes PS et PC ont voté contre le texte.</p><p>C'est maintenant le juge qui aura le pouvoir de couper l'abonnement et non plus l'autorité administrative Hadopi. L'abonnement pourra être suspendu pour un an maximum et une amende allant jusqu'à 300 000 euros pourra être donnée en plus de deux ans d'emprisonnement.</p><p>A noter que ces deux dernières peines réprimant le délit de contrefaçon existent déjà dans le code pénal, mais sont rarement utilisées.</p>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-67292285874133246102009-07-08T01:39:00.000-07:002009-07-08T01:43:20.089-07:00Baccalauréat : 78,4% de réussite, meilleur cru que l'an dernier<div style="margin: 0pt 0pt 0pt 0.5em; float: right; font-size: 8pt; color: rgb(102, 102, 102); text-align: left; width: 330px;"><p><img width="330" height="318" alt="Les résultats du baccalauréat 2009, affichés au Lycée Montebello à Lille (Sipa)." src="http://tempsreel.nouvelobs.com/file/722696.jpg"/></p><p>Les résultats du baccalauréat 2009, affichés au Lycée Montebello à Lille (Sipa). </p></div><span class="cap">L</span>e ministre de l'Education nationale, <strong>Luc Chatel</strong>, a annoncé mercredi 8 juillet que le taux de réussite du premier coup au bac général a atteint cette année <strong>78,4%</strong> des candidats. Soit une <strong>hausse de 2,9%</strong> par rapport à 2008.<br/><br />"Les résultats du bac 2009 sont très bons, c'est un <strong>excellent cru</strong>. On ne peut que s'en féliciter. Je me réjouis que le bac continue de jouer son rôle: consacrer la fin des études secondaires et être une clé d'entrée pour l'enseignement supérieur. Le bac est et restera une institution", a déclaré Luc Chatel.<br /><br /><h3>Résultats définitifs le 13 juillet</h3><br />Cette année, plus de<strong> 622.000 candidats</strong> ont planché sur les sujets du bac.<br />C'est la série S qui réalise le meilleur score, avec <strong>80,7% d'admis</strong> (+ 2,1%). Suit la série ES, avec 76,7% (+ 4,1%) et enfin la série L avec 74,3% (+ 3,1).<br />En séries technologiques, 62,9% des élèves ont obtenu le précieux sésame du premier coup. Avec en revanche une baisse de 1,5 point. <br/><br />Selon les chiffres du ministère, le secteur industriel atteint 68,1% de réussite et le secteur tertiaire 60,8%.<br />Les résultats définitifs seront connus après les <strong>oraux de rattrapage</strong>, qui se déroulent entre mercredi et samedi. Et publiés le 13 juillet.<br /><br /><h3>"Vrai combat à mener"</h3><br />Au vu de ces résultats, le ministre de l'Education refuse de laisser des candidats sur le bord de la route : "On a 63,3% d'une génération au niveau du bac. On continue à avoir 150.000 élèves par an qui sortent du système éducatif sans diplôme, c'est un <strong>vrai combat</strong> que nous avons à mener, améliorer l'accès au bac et réduire le nombre de <strong>sorties sans qualification</strong>".<br/><br />"On avait beaucoup progressé dans les années 1985-95 et depuis 95, ce chiffre a tendance à <strong>stagner</strong>", reconnaît Luc Chatel.<br /><br /><h3>Félicitations du jury</h3><br />L'un des deux benjamins de cette année, Edwin Hamel de le Court, âgé de <strong>13 ans</strong>, a indiqué à l'AFP avoir obtenu 13,88 de moyenne (série S),soit une mention assez bien.<br />A Nancy, un autre garçon de 13 ans a décroché, également en série scientifique, la <strong>mention "très bien"</strong>, a déclaré son père.<br/><br />A l'inverse, ça coince pour le doyen des candidats, Denis Chardenas, <strong>79 ans</strong> : "C'est loupé ! Je ne passerai pas l'oral. Je suis à 6, 6,5 de moyenne", a déclaré Denis Chardenas, qui réside à Saint-Victor la Coste, dans le Gard.<br />La palme 2009 revient peut-être à Benjamine, une lycéenne de Nîmes de 18 ans, qui a reçu dès aujourd'hui les "<strong>félicitations du jury</strong>". Elle a obtenu une moyenne de<strong> 20,3</strong>, grâce à des points bonus tirés d'un 19 en option anglais section européenne.chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-26697568283105277712009-07-08T01:30:00.001-07:002009-07-08T01:34:28.088-07:00Chrome OS : Google annonce un système d'exploitation !<div style="float: right; padding-left: 6px; text-align: center;"><a rel="galerie photo" onclick="javascript:return false;" class="thickbox" title="Google Chrome logo" href="http://img.clubic.com/photo/01798428.jpg"><img border="0" alt="Google Chrome logo" src="http://img.clubic.com/photo/00C8000001798428.jpg"/></a></div>Lorsque le Web part à la rencontre du logiciel... Après le lancement d'une suite bureautique en ligne, puis d'un navigateur Web, Google poursuit ses incursions dans le domaine du logiciel avec l'annonce, dans la nuit de mardi à mercredi, d'un système d'exploitation conçu par ses soins : Google Chrome OS. Destiné dans un premier temps aux netbooks mais compatible avec tout ordinateur personnel, ce système d'exploitation open source se veut particulièrement léger, centré autour du navigateur Web et des services en ligne. Le code source sera publié d'ici la fin de l'année, pour une mise à disposition générale dans le courant du second semestre 2010.<br /><br />Une annonce surprenante ? Peut-être pas. Depuis 2006, la rumeur prête à Google l'intention de concevoir un système d'exploitation minimaliste, entièrement tourné vers le Web et les services en ligne : Gmail pour la messagerie, Google Talk pour les communications, Google Docs pour la bureautique et le travail collaboratif, etc. Seule manquait à Google la pierre d'achoppement permettant de porter ces applicatifs hébergés sur le poste client, une case aujourd'hui comblée par le navigateur Web maison, Chrome.<br /><br />Si le futur OS de Google tire son nom de ce navigateur, c'est qu'il occupera une place centrale au coeur du système, composé d'un simple noyau Linux auquel la firme de Mountain View greffera une interface utilisateur fenêtrée, et minimaliste. « <i>Rapidité, simplicité et sécurité sont les aspects clé de Google Chrome OS</i> », promettent Sundar Pichai, vice président produit et Linus Upson, responsable de l'ingénierie, sur le blog officiel de Google. « <i>Comme nous l'avons fait avec notre navigateur Google Chrome, nous revenons aux fondamentaux et repensons complètement l'architecture qui sous-tend l'ensemble du système, de façon à ce que les utilisateurs n'aient pas à se préoccuper des virus, des malwares ou de mises à jour de sécurité. Ca doit simplement fonctionner</i> ».<br /><br />« <i>Pour les développeurs d'applications, le Web sera la plateforme. Toutes les applications en ligne fonctionneront automatiquement, et de nouvelles pourront être écrites à l'aide de vos technologies Web favorites</i> », ajoutent les représentants de Google, selon qui la grande force de ce modèle viendra de ce que les applications écrites avec Chrome OS en ligne de mire pourront également fonctionner avec tous les autres systèmes du marché, dans la mesure où elles seront accessibles au travers du navigateur.<br /><br />Compatible aussi bien avec les processeurs x86 (ordinateurs ) qu'avec l'architecture ARM (smartphones), Google Chrome OS est présenté comme un projet distinct d'Android, le système d'exploitation mobile de la firme. « <i>Bien qu'il y ait certaines zones sur lesquelles Google Chrome OS et Android se chevauchent, nous pensons que la possibilité de choisir motivera l'innovation, pour le bénéfice de tous, y compris de Google</i> », explique la firme.<br /><br />Alors que les premiers netbooks ont fait leur entrée sur le marché équipés de distributions Linux, l'industrie est progressivement repassée à Windows. XP tout d'abord, puis bientôt 7, puisqu'une version du futur système d'exploitation de Windows sera tout spécialement réservée aux netbooks. Le secteur pourrait toutefois faire machine arrière, surtout s'il se voit offrir la possibilité d'intégrer un système d'exploitation gratuit, léger, et porté par une marque forte comme celle du numéro un mondial de la recherche en ligne, dont le navigateur est déjà utilisé par trente millions d'internautes dans le monde.<br /><br />Le fait que ce système d'exploitation soit dévoilé cette semaine, plus d'un an avant la date prévue pour sa sortie, n'est peut-être pas un hasard : Microsoft tient à partir du 13 juillet prochain sa Worldwide Partners Conference, lors de laquelle les responsables de la firme devraient procéder à d'importantes annonces relatives à Windows 7 (mise à disposition de la RTM) ainsi qu'à la stratégie de l'éditeur en matière de services hébergés et accessibles au travers du navigateur. « <i>Dans la mesure où nous sommes déjà en discussion avec nos partenaires à propos de ce sujet, et travaillerons bientôt avec la communauté open source, nous voulions partager notre vision des choses dès maintenant de façon à ce que tout le monde sache ce que nous essayons de réaliser</i> », se contente d'affirmer Google.chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-719235694791633752009-07-07T04:55:00.000-07:002009-07-07T04:57:43.245-07:00La caféine, nouvelle arme contre Alzheimer<h2>Chez la souris, la caféine améliore la mémoire et réduit les lésions cérébrales de la maladie d'Alzheimer.</h2><br /><p>La maladie d'Alzheimer frappe 15 % des plus de 80 ans. En France, 850 000 personnes sont concernées si bien que les plus de 65 ans vivent dans la hantise de cette pathologie qui conduit à la dépendance en sept à dix ans. Existe-t-il une manière de se prémunir ? Si des travaux récents ont mis en évidence l'impact favorable de l'exercice physique et intellectuel, ainsi que de la prise en charge de l'hypertension, du diabète et de l'obésité, aucun traitement préventif n'existe. Dans ce contexte, la publication dimanche, sur le site Internet du Journal of Alzheimer Disease, d'une étude montrant les effets très favorables du café sur des souris suscite de réels espoirs, même si, bien sûr, les résultats ne sont pas toujours extrapolables de ce rongeur à l'être humain.</p> <p>Le professeur Gary Arendash de l'Université de Floride (États-Unis) s'intéresse depuis longtemps au lien entre caféine et démence. Notamment depuis qu'une étude portugaise a révélé, il y a quelques années, que les personnes atteintes d'Alzheimer avaient bu beaucoup moins de café au cours des vingt années précédant le diagnostic que celles exemptes de cette maladie. D'autres enquêtes plus ou moins rigoureuses ont conclu qu'une consommation modérée de café exerçait un effet protecteur contre cette démence.</p> <p>C'est dans ce contexte que Gary Arendash s'est lancé récemment dans une étude expérimentale plus complexe sur la souris. Il s'est procuré 55 petits rongeurs génétiquement programmés pour développer des troubles de la mémoire mimant la maladie d'Alzheimer avec l'âge et les a divisés en deux groupes. Après que des tests ont confirmé que ces cobayes présentaient bien des déficits de mémorisation vers l'âge de 18-19 mois (équivalent de 70 ans chez l'homme), la moitié d'entre eux ont reçu de la caféine dans leur ration d'eau quotidienne (l'équivalent de 8 tasses de café par jour et 14 de thé) tandis que l'autre moitié n'a consommé que de l'eau pure.</p> <p> </p><div style="width: 178px; float: right;" class="photo"> <img border="0" alt="Une molécule de caféine (image carrinated, Creative commons)" style="width: 178px; height: 178px;" src="http://www.lefigaro.fr/medias/2009/07/07/59ae2bae-6a74-11de-b785-3144b71e3ea1.jpg"/><br/> <span class="leg">Une molécule de caféine (image carrinated, Creative commons)</span> </div> <p> </p><h3>Des performances nettement meilleures</h3> <p>Au bout de deux mois, les souris traitées par la caféine ont fait preuve de performances nettement meilleures que les autres lors de différents tests de mémoire. Selon les auteurs, leurs compétences étaient devenues identiques à celles de souris âgées mais sans démence. Les animaux n'ayant bu que de l'eau maintenaient leurs mauvais résultats lors des tests. Plus surprenant encore, quelques semaines plus tard, l'autopsie du cerveau des souris a permis d'observer que celles traitées par la caféine avaient moitié moins de protéine béta-amyloïde dans leur cerveau que les autres. Or, l'accumulation de cette protéine sous forme de plaques est une des principales lésions histologiques caractéristiques de la maladie d'Alzheimer. Selon certains chercheurs, la caféine restaurerait la mémoire en réduisant certains enzymes indispensables à la production de protéine béta-amyloïde. D'autres estiment que la caféine aurait un effet anti-inflammatoire par le biais duquel ces plaques de protéines diminueraient. Par ailleurs, la caféine n'améliore les performances que des seules souris présentant déjà des troubles de la mémoire, mais pas de celles en bonne santé.</p> <p>Les chercheurs, très enthousiastes, planifient déjà des essais cliniques chez l'homme, afin de confirmer ou d'infirmer les effets de la caféine sur les premiers troubles de la maladie d'Alzheimer.</p> <liste> <element/> </liste>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-72810655251525327932009-07-07T04:42:00.000-07:002009-07-07T04:44:52.734-07:00Bouygtel va lancer cet été le Samsung Galaxy (Android) à 100 euros<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nt-myIXK9DQ/SlM1I6UPOUI/AAAAAAAAADU/2To9zAbPYbc/s1600-h/samsung-i7500.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 207px; height: 320px;" src="http://4.bp.blogspot.com/_nt-myIXK9DQ/SlM1I6UPOUI/AAAAAAAAADU/2To9zAbPYbc/s320/samsung-i7500.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5355682809083017538" /></a><br /> Après Orange avec son Dream et SFR avec son Magic, c'est au tour de Bouygues Telecom de lancer son premier smartphone Android en pack opérateur.<br /><br />Et contrairement à ses deux concurrents qui ont fait confiance à la marque HTC, Bouygtel s'est associé à Samsung pour lancer en avant-première cet été le Galaxy. Monobloc et concurrent direct du HTC Magic, il intègre un écran tactile AMOLED de 3,2 pouces, le WiFi, la 3G+, le GPS, 8 Go de mémoire interne et un appareil photo numérique de 5 megapixels. Son écran n'est pas multipoint et son navigateur web ne lit pas le Flash.<br /><br />Le Samsung Galaxy n'exploite pas la mention « avec Google », ce qui interdira la marque de citer le géant des moteurs de recherche dans sa campagne de communication qui accompagnera sa sortie en France. « Nous proposons toute la suite mobile de Google mais les contraintes qui nous étaient demandées, notamment en matière de personnalisation, volume de vente ou sortie mondiale ne nous ont pas permis d'en bénéficier », nous confirme un représentant de Samsung.<br /><br />Le Galaxy intègre de plus un système Android Cupcake sans personnalisation de sa page d'accueil contrairement au HTC Hero. Il est doté néanmoins de raccourcis vers le portail i-mode de l'opérateur et vers certains de ses services phare, de la musique à la vidéo en passant par l'actualité. Samsung nous confirme également vouloir pré installer certains programmes dans la mémoire du smartphone : de l'actualité de LCI en passant par un lecteur de flux RSS, ces derniers pourront être utilisés sans être téléchargés sur l'Android Market.<br /><br />Signalons enfin que tout comme sur l'iPhone, Bouygues Telecom a développé des logiciels spécifiques à ce smartphone Android. On y retrouve notamment une application de « suivi conso » et un portail permettant d'accéder à un bouquet TV en 3G/3G+. Le Samsung Galaxy sera commercialisé à partir du 16 juillet par Bouygues Telecom pour un prix 99 euros, offre de remboursement de 50 euros comprise. Pour l'obtenir à ce prix, il faudra s'engager 24 mois et souscrire à un forfait Neo.2 comprenant entre autres l'internet mobile en illimité.<br /><br />A noter que le Galaxy est lancé en avant-première chez Bouygues Telecom pendant l'été, d'autres opérateurs dont Virgin Mobile allant le lancer dès la rentrée prochaine.chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-50435641645946240172009-07-07T02:32:00.000-07:002009-07-07T05:19:13.345-07:00Carrefour, La qualité pour tous"J'ai acheté des fraises à 1€, j'ai eu la chiasse": il le dit haut et fort, même si tout le monde s'en fout!<br /><br /><object width="504" height="336" data="http://www.dailymotion.com/swf/x9p1mg?autoplay=0" type="application/x-shockwave-flash"> <param value="http://www.dailymotion.com/swf/x9p1mg?autoplay=0" name="movie"/> <param name="width" value="504"/> <param name="height" value="336"/><param value="embedMode=direct&autoplay=1" name="FlashVars"/> <embed width="504" height="336" flashvars="embedMode=direct&autoplay=0" type="application/x-shockwave-flash" src="http://www.dailymotion.com/swf/x9p1mg?autoplay=0"></embed></object>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-34173529711278088952009-07-06T00:48:00.001-07:002009-07-06T00:53:32.738-07:00La marge d'erreur des radars change... mais pas pour tous: "C'est un piège pour les automobilistes"Les radars ont été reprogrammés pour êtres moins tolérants. 3% au lieu de 5%. Pas tous. Seulement les nouveaux. <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nt-myIXK9DQ/SlGsaSaLs8I/AAAAAAAAADM/2rVvWhqI75g/s1600-h/h-3-1608482-1246860939.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_nt-myIXK9DQ/SlGsaSaLs8I/AAAAAAAAADM/2rVvWhqI75g/s320/h-3-1608482-1246860939.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5355250999538463682" /></a><br /> La marge de tolérance vient d'être abaissée de 3km/h au lieu de 5 pour les vitesses en dessous de 100 et de 3% au lieu de 5% au-dessus de cette vitesse.<br /><br /><strong>Cela ne concerne pas encore les radars qui existent déjà (2300) mais tous ceux dont l'installation est prévue d'ici à 2012 (2200 supplémentaires)</strong>. Sans compter de ceux qui passeront par la case réparation. On arrivera donc à une situation où 1 radar sur 2 n'appliquera pas la nouvelle règle.<br /><br />Rémy Josseaume, président de la commission juridique de 40 millions d'automobilistes, résume le casse-tête à venir sur <em>RTL</em>:<a rel="nofollow" target="_blank" href="http://www.rtl.fr/fiche/5517561/la-marge-de-tolerance-des-radars-routiers-revue-a-la-baisse.html">"Comment l'automobiliste va-t-il savoir si on lui a appliqué la bonne marge de tolérance en fonction du radar qui l'aura verbalisé? Comment les forces de l'ordre qui gèrent des milliers de radars vont-elles savoir quelle règle on applique?"</a><br />Ce qui va rendre encore plus difficile la contestation des amendes.<br /><br />Un autre avocat de 40 millions d'automobilistes s'interroge dans<br /><em>France Soir</em>: "<a rel="nofollow" target="_blank" href="http://www.francesoir.fr/societe/2009/07/06/auto-radars-fixes.html">Je ne sais pas si on est dans une logique de chiffres et de quotas et si cela émane d’une réelle volonté politique, mais les verbalisations vont s’accroître. C'est un véritable piège à automobilistes!</a>"<br /><br /><strong>Entre 2002 et 2007, la première vague d'implantation massive de radars, le nombre d'infractions est passé de 1,4 millions à 6,4</strong>, rappelle-t-il. Mais le nombre de vies sauvées sur les routes a suivi une courbe opposée.chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-29197930359229120852009-07-02T07:46:00.000-07:002009-07-02T07:49:09.276-07:00Zapping 02/07/2009Les bébés se la pètent en roller et Michael Jackson repris au violon, c'est Le Zapping du Web !<br /><object width="500" height="320" data="http://www.wat.tv/swf2/6886666ka6PAu2713131" type="application/x-shockwave-flash"> <param value="http://www.wat.tv/swf2/6886666ka6PAu2713131" name="movie"/> <param name="width" value="574"/> <param name="height" value="346"/> <embed width="574" height="346" type="application/x-shockwave-flash" src="http://www.wat.tv/swf2/6886666ka6PAu2713131"/></embed></object>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-55556859608741604592009-07-02T06:17:00.000-07:002009-07-02T06:19:03.104-07:00Le HTC Snap chez Bouygues Telecom<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nt-myIXK9DQ/SkyzovlnxHI/AAAAAAAAADE/ERnhWG8G3t8/s1600-h/htc-snap-1.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 265px;" src="http://4.bp.blogspot.com/_nt-myIXK9DQ/SkyzovlnxHI/AAAAAAAAADE/ERnhWG8G3t8/s320/htc-snap-1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353851569587078258" /></a><br /><br /><br />C’est finalement Bouygues Telecom Entreprises qui propose depuis fin juin le HTC Snap ! L’appareil est en effet proposé à 79 euros accompagné d’un forfait Neo Pro 24/24. Pour rappel, il vous propose la 3G/3G+, un processeur Qualcomm MSM7225 à 528MHz, un écran de 2,4″ avec une résolution de 320×240, un clavier à la Blackberry (ou Nokia E71, c’est vous qui voyez), un trackball à la Blackberry, l’interface TouchFlo 3D, la fonction Inner Circle pour prioriser les mails importants, un APN de 2 Mégapixels, un GPS compatible A-GPS, le Bluetooth, le WiFi, 192Mo de ROM, 256Mo de RAM, un port mémoire microSD/SDHC, le tout dans 12mm d’épaisseur avec une autonomie allant jusqu’à 8,5h en conversation.chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-87794869979978605292009-07-02T06:15:00.000-07:002009-07-02T06:20:10.276-07:00Hadopi 2 : amendée et adoptée !Hier, la commission de la culture, de l’éducation et de la communication du Sénat a adopté le projet venant compléter la loi Hadopi, en y intégrant une quinzaine d’amendements soumis par le rapporteur du texte, le sénateur UMP Michel Thiollière. Cette nouvelle loi distingue deux infractions, et deux cas de figure sont envisageables pour l’abonné dont l’adresse IP serait détectée sur les réseaux P2P:<br /><br />- Dans le premier cas, si les faits sont suffisamment importants pour que le délit de contrefaçon soit retenu, le prévenu sera passible d’un maximum de 300.000 euros d’amende et de trois ans d’emprisonnement, condamnation à laquelle le juge pourra ajouter une suspension d’abonnement à Internet d’une durée maximale d’un an.<br /><br />- Dans le second cas, cela concerne l’abonné qui pourrait ne pas avoir téléchargé directement, mais manqué à l’obligation de sécurisation de sa ligne Internet. Cette négligence caractérisée pourra alors donner lieu à une contravention de 5e classe (1500 euros d’amende maximum), éventuellement doublée d’une suspension d’un mois de l’abonnement à Internet.<br /><br />Dans tous les cas, c’est le juge qui appréciera, a affirmé jeudi matin Michel Thiollière… Par ailleurs deux nouvelles mesures ont été adoptées : l’obligation, pour les FAI, de faire figurer dans leurs contrats les sanctions encourues par l’abonné pour téléchargement illégal, et la non-conservation des données par la Haute autorité une fois que le dossier a été traité et l’éventuelle suspension d’abonnement subie, afin d’éviter une liste noire des abonnés. Enfin, il pourra en couter jusqu’à 3750 euros à l’internaute suspendu qui chercherait à s’inscrire chez un autre fournisseur d’accès.<br /><br />Amendé et validé par la Commission, le texte fera son entrée le 8 juillet en séance publique au Sénat, avant de partir à l’Assemblée nationale où il devrait être examiné à partir du 20 juillet.chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-30948716209320654252009-07-02T06:06:00.000-07:002009-07-07T04:45:14.349-07:00Présentation du smartphone HTC Hero sous AndroidCette vidéo présente pendant 7 minutes le HTC « Hero », le prochain smartphone de la marque exploitant un système mobile Android. Après le Dream et le Magic, c'est donc le Hero qui a été présenté et qui possède la particularité d'intégrer une nouvelle interface tactile baptisée « HTC Sense ».<br /><br />Cette dernière nous est présentée en détail par Frédéric Tassy, le directeur général de HTC pour la France et le Benelux à travers une vidéo se focalisant sur les principaux points forts du smartphone : écran multipoint, gestionnaire de widgets, affichage des emails avec une compatibilité Microsoft Exchange, navigateur web gérant à la fois le Flash et les onglets de manière fluide.<br /><br /><br /><div><embed src='http://www.neteco.com/v/292020' width='500' height='330' allowscriptaccess='always' allowfullscreen='true'></embed><br />Source de la vidéo : <a href='http://www.neteco.com/284846-videonaute-presentation-smartphone-htc-hero-android.html' target='_blank'>Neteco</a></div>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-62325443656606221222009-06-28T03:00:00.000-07:002009-06-28T03:08:11.182-07:00Les 16 plages marocaines labellisées Pavillon bleu en 2009<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nt-myIXK9DQ/SkdBAFK6TpI/AAAAAAAAAB4/cnv-dWq-m7Q/s1600-h/jpg_22._Plage_de_Rabat_3_.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_nt-myIXK9DQ/SkdBAFK6TpI/AAAAAAAAAB4/cnv-dWq-m7Q/s320/jpg_22._Plage_de_Rabat_3_.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5352318151796870802" /></a><br />Le Pavillon bleu flottera au-dessus de 16 plages du Royaume contre 12 en 2008 et 2 en 2005. Il s’agit <span style="font-weight:bold;">d’Achakar, Agadir, Aïn Diab, Asilah, Bouznika, Essaouira, Fnideq, Foum El Ouad/Laâyoune, Haouzia, M’diq, Moulay Bousselham, Safi municipale, Saïdia municipale, Sidi Rahal, Skhirate et Souiria Lakdima</span>. Les critères de sélection portent sur 4 domaines: qualité des eaux, sensibilisation à l’environnement, hygiène et sécurité.<br />En 2008, 28 stations ont été jugées non conformes à la baignade: Calabonita (Al Hoceïma), Asilah-port, Tanger-ville et Malabata. Les eaux de la plage Miami à Larache, celles de Rabat, Salé, Ouled Hmimoune et Aïn Sebaâ à Casablanca et Sidi Ifni ont eu un bonnet d’âne.chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0tag:blogger.com,1999:blog-4081641080571116774.post-47655706537409665852009-06-26T08:06:00.001-07:002009-06-28T03:09:17.044-07:00Maroc Bledar 2<embed height="100%" width="100%" src="http://www.dailymotion.com/swf/x55g3u?autoplay=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="never" bgcolor="#000000"></embed>chamsshttp://www.blogger.com/profile/07234840061936731945noreply@blogger.com0