<?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>Web Design &#8211; Kodono</title>
	<atom:link href="https://blog.kodono.info/wordpress/category/web-design/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.kodono.info/wordpress</link>
	<description>Pour tous les technophiles</description>
	<lastBuildDate>Mon, 02 Jan 2017 11:46:03 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>Get color_id from a Google Calendar using API [PHP]</title>
		<link>https://blog.kodono.info/wordpress/2016/04/18/get-color_id-from-a-google-calendar-using-api-php/</link>
					<comments>https://blog.kodono.info/wordpress/2016/04/18/get-color_id-from-a-google-calendar-using-api-php/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Mon, 18 Apr 2016 07:50:13 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=1637</guid>

					<description><![CDATA[For a project I needed to get the events from a Google Calendar, as well as the colors from it. It&#8217;s been a pain, but after a couple of days I&#8217;ve been able to create a PHP page to do so. It will use the server-to-server auth mechanism. I&#8217;ll try to provide the different steps [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>For a project I needed to get the events from a Google Calendar, as well as the colors from it.</p>
<p>It&#8217;s been a pain, but after a couple of days I&#8217;ve been able to create a PHP page to do so. It will use the <a href="http://www.riskcompletefailure.com/2015/03/understanding-service-accounts.html">server-to-server auth mechanism</a>.</p>
<p>I&#8217;ll try to provide the different steps (please note that my Google Console is in French so I tried to translate) :</p>
<ol>
<li>Go to <a href="https://console.developers.google.com/apis/api/calendar/overview">https://console.developers.google.com/apis/api/calendar/overview</a> and <strong>Activate the Calendar API</strong> (or create first a project if required)</li>
<li>Once the API is activated you should be invited to go to the Identification part ; make sure you choose <strong>&#8220;Account Service Key&#8221;</strong> for the identification mode</li>
<li>Then pick <strong>&#8220;New Service&#8221;</strong> and complete the fields (choose JSON for the file format)</li>
<li>Download the JSON file and save it where your PHP file will stand on your web server</li>
<li>Open the JSON file and search for the <strong>client_email</strong></li>
<li>Go to <a href="https://calendar.google.com/">https://calendar.google.com/</a> and in the sharing parameters : make sure that you share your calendar in editing with the <strong>client_email</strong> address found in the previous step (the editing mode is required to get the Colors)</li>
<li>Now you need to install the <a href="https://developers.google.com/api-client-library/php/start/installation">PHP library from Google</a> &#8230; in my case I don&#8217;t have a console access on the server, so I transfered the files from Github to the web server, in the same directory as our PHP file will be (so I got a folder called <em>google-api-php-client-1.1.7</em>)</li>
<li>Create your PHP file with the below content :
<pre class="brush:php">
&lt;?php
// make sure the include path got the Google API (please refer to https://developers.google.com/api-client-library/php/start/installation)
set_include_path(get_include_path() . PATH_SEPARATOR . '/full/path/WordPress/wp-content/agenda/google-api-php-client-1.1.7/src/Google');
require_once "autoload.php";

// Connect to the Google Calendar Service
$client = new Google_Client();
$client->setApplicationName("Google Calendar");
$data = json_decode(file_get_contents('YourKeyFile-xxxxx.json'));
$client_id = $data->client_id;
$client_email = $data->client_email;
$cred = new Google_Auth_AssertionCredentials(
  $client_email,
  array(Google_Service_Calendar::CALENDAR),
  $data->private_key
);

// Remember to cache the access token locally if making multiple calls
// and don't just use this function for each request!
$client->getAuth()->refreshTokenWithAssertion($cred);
$service = new Google_Service_Calendar($client);
$optParams = array(
  "calendarId"   => "TheGoogleAccountForTheCalendar@gmail.com",
  "singleEvents" => true,
  "timeZone"     => "Europe/Paris",
  "maxResults"   => 250,
  "timeMin"      => date("c", strtotime("midnight")), /* to get events from today... */
  "timeMax"      => date("c",strtotime('+3 day')), /* ...to the 3 next days */
  "orderBy"      => "startTime"
);
$events = $service->events->listEvents('TheGoogleAccountForTheCalendar@gmail.com', $optParams);
?>
&lt;!DOCTYPE html>
&lt;html>
  &lt;head>
    &lt;meta charset="UTF-8">
    &lt;meta http-equiv="Content-Language" content="fr" />
    &lt;meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
  &lt;/head>
  &lt;body>
&lt;?php
  while(true) {
    foreach ($events->getItems() as $event) {
      $endTime = new DateTime($event->getEnd()->getDateTime());
      echo $event->getSummary() ." [".$event->getColorId()."] (".$endTime->format('Y-m-d').")&lt;br>";
    }
    $pageToken = $events->getNextPageToken();
    if ($pageToken) {
      $optParams['pageToken'] = $pageToken;
      $events = $service->events->listEvents('lgpmontpellier@gmail.com', $optParams);
    } else {
      break;
    }
  }
?>
  &lt;/body>
&lt;/html>
</pre>
<p>Finally you can refer to the <a href="https://developers.google.com/google-apps/calendar/?csw=1">Google Calendar API</a>.</p>
<p>FYI I retrieved the below colorId for the below available colors:<br />
<img decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2016/04/colors_google_calendar.png" alt="" width="288" height="41" class="aligncenter size-full wp-image-1685" /></p>
<pre class="brush:php">
    // same order as the image above
    switch ($event->getColorId()) {
      case 9: $color="#5484ED"; break;
      case 1: $color="#A4BDFC"; break;
      case 7: $color="#46D6DB"; break;
      case 2: $color="#7AE7BF"; break;
      case 10: $color="#51B749"; break;
      case 5: $color="#FBD75B"; break;
      case 6: $color="#FFB878"; break;
      case 4: $color="#FF887C"; break;
      case 11: $color="#DC2127"; break;
      case 3: $color="#DBADFF"; break;
      case 8: $color="#E1E1E1"; break;
      default: $color="#AC725E"; // the first one in the picture, the one that is checked
    }
</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2016/04/18/get-color_id-from-a-google-calendar-using-api-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Autosize a text to fit into a div in pure/native JavaScript</title>
		<link>https://blog.kodono.info/wordpress/2015/03/12/autosize-a-text-to-fit-into-a-div-in-purenative-javascript/</link>
					<comments>https://blog.kodono.info/wordpress/2015/03/12/autosize-a-text-to-fit-into-a-div-in-purenative-javascript/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Thu, 12 Mar 2015 08:44:38 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1470</guid>

					<description><![CDATA[I was looking for a very tiny and light solution to fit a text inside a box. The box&#8217; height and width are fixed. I only found some great solutions like BigText but I didn&#8217;t want to have jQuery loaded. Finally I found some code on StackOverflow and also at Coderwall. I created my own [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I was looking for a very tiny and light solution to fit a text inside a box. The box&#8217; height and width are fixed. I only found some great solutions like <a href="https://github.com/zachleat/BigText">BigText</a> but I didn&#8217;t want to have jQuery loaded.</p>
<p>Finally I found some code on StackOverflow and also at <a href="https://coderwall.com/p/_8jxgw/autoresize-text-to-fit-into-a-div-width-height">Coderwall</a>. I created my own solution that could only work with my own HTML code&#8230; but I share it here, maybe that could help someone else.</p>
<p>The HTML code:</p>
<pre class="brush:html">
  <div class="ribbon-front">
    <span>This is my text !</span>
  </div>
</pre>
<p>The related CSS code:</p>
<pre class="brush:css">
.ribbon-front { overflow:hidden }
</pre>
<p>And the JavaScript code:</p>
<pre class="brush:javascript">
var autoSizeText = function(selector) {
  "use strict";
  var el, elements, i, len, style, fontSize, IEoffsetHeight;
  elements = document.querySelectorAll(selector);
  if (elements.length &lt;= 0) return;
  
  for (i=0, len = elements.length; i &lt; len; i++) {
    el = elements[i];

    // we start from 0px and we grow by 0.5 until the content is too large
    fontSize=0;
    el.style.fontSize = "0px";
    // fix for all IE : I cache the offsetHeight, and if it becomes really bigger than the previous value, then we stop!
    IEoffsetHeight = el.offsetHeight;
    // check if our content is out its box
    while (el.scrollHeight===0 || el.scrollHeight >= el.offsetHeight) {
      fontSize += 0.5;
      el.style.fontSize = fontSize + 'px';

      if (el.offsetHeight - IEoffsetHeight > 10) break;
      IEoffsetHeight = el.offsetHeight;
    }
    el.style.fontSize = (fontSize - 0.5) + 'px';
  }
};
autoSizeText('.ribbon-front > span');
</pre>
<p>It works for IE8-IE10 and with all modern browsers.</p>
<p>You can see a demo at <a href="http://codepen.io/Aymkdn/pen/jEeaPV">codepen</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2015/03/12/autosize-a-text-to-fit-into-a-div-in-purenative-javascript/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Gérer les évènements touch sur mobile [JavaScript]</title>
		<link>https://blog.kodono.info/wordpress/2015/02/23/gerer-les-evenements-touch-sur-mobile-javascript/</link>
					<comments>https://blog.kodono.info/wordpress/2015/02/23/gerer-les-evenements-touch-sur-mobile-javascript/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Mon, 23 Feb 2015 18:09:47 +0000</pubDate>
				<category><![CDATA[Navigateur]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[javascript]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1450</guid>

					<description><![CDATA[J&#8217;ai un projet sur lequel j&#8217;ai deux évènements &#8220;mouseenter&#8221; et &#8220;mouseleave&#8221; gérés par jQuery (pour faire le &#8220;hover&#8221;), et je voulais un comportement similaire sur mobile. Pour ce faire, je voulais qu&#8217;un &#8220;tap&#8221; affiche ce que le &#8220;hover&#8221; affiche avec la souris, puis qu&#8217;un second &#8220;tap&#8221; permette d&#8217;accéder au contenu (comme un &#8220;clic&#8221;). La solution [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>J&#8217;ai un projet sur lequel j&#8217;ai deux évènements &#8220;mouseenter&#8221; et &#8220;mouseleave&#8221; gérés par jQuery (pour faire le &#8220;hover&#8221;), et je voulais un comportement similaire sur mobile. Pour ce faire, je voulais qu&#8217;un &#8220;tap&#8221; affiche ce que le &#8220;hover&#8221; affiche avec la souris, puis qu&#8217;un second &#8220;tap&#8221; permette d&#8217;accéder au contenu (comme un &#8220;clic&#8221;). La solution était assez simple, mais j&#8217;ai été ensuite confronté au problème du &#8220;scroll&#8221;&#8230;. en effet il confondait le &#8220;scroll&#8221; avec un &#8220;tap&#8221;.</p>
<p>Pour empêcher ce comportement, il faut tester si on effectue un &#8220;scroll&#8221; en s&#8217;aidant de <code>$(window).scrollTop()</code>:</p>
<pre class="brush:javascript">
var scrollPos=0;
$('#elem').on('mouseenter', function() {
  // affiche quelque chose quand la souris est sur la zone
  $(this).addClass('hover');
}).on('mouseleave', function() {
  // cache le contenu lorsque la souris n'est plus dans la zone
  $(this).removeClass('hover');
}).on('touchstart', function(event) {
  // lorsqu'on tape avec son doigt on doit récupérer la position dans la page
  scrollPos=$(window).scrollTop();
}).on('touchend', function(event) {
  event.preventDefault();
  // puis ici on vérifie que ce n'est pas un scroll
  if(Math.abs(scrollPos - $(window).scrollTop()) < 3){
    // si on entre là dedans c'est qu'on a bien effectué un simple "tap"
    var $this=$(this);
    if ($this.hasClass('hover')) {
      // effectue l'action de clic liée à ce bloc ... c'est donc le second "tap"
    } else {
      // effectue la même opération que lorsque la souris est dans la zone
      $this.addClass('hover');
    }
  }
});
</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2015/02/23/gerer-les-evenements-touch-sur-mobile-javascript/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Extraire une image d&#8217;un PDF [Astuce]</title>
		<link>https://blog.kodono.info/wordpress/2015/02/11/extraire-une-image-dun-pdf-astuce/</link>
					<comments>https://blog.kodono.info/wordpress/2015/02/11/extraire-une-image-dun-pdf-astuce/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Wed, 11 Feb 2015 14:01:11 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Niveau débutant]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1444</guid>

					<description><![CDATA[Pour extraire une image d&#8217;un PDF vous pouvez utiliser Photoshop&#8230;. ou Gimp ! Ce logiciel gratuit permet également d&#8217;extraire une image d&#8217;un PDF. Il suffit d&#8217;ouvrir le document PDF avec Gimp et il va vous proposer de choisir l&#8217;image à extraire. Simple et efficace.]]></description>
										<content:encoded><![CDATA[<p>Pour extraire une image d&#8217;un PDF vous pouvez utiliser Photoshop&#8230;. ou <a href="http://www.gimp.org/">Gimp</a> ! Ce logiciel gratuit permet également d&#8217;extraire une image d&#8217;un PDF. Il suffit d&#8217;ouvrir le document PDF avec Gimp et il va vous proposer de choisir l&#8217;image à extraire.</p>
<p>Simple et efficace.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2015/02/11/extraire-une-image-dun-pdf-astuce/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dynamically inject a CSS code into the page [JavaScript]</title>
		<link>https://blog.kodono.info/wordpress/2014/05/28/dynamically-inject-a-css-code-into-the-page-javascript/</link>
					<comments>https://blog.kodono.info/wordpress/2014/05/28/dynamically-inject-a-css-code-into-the-page-javascript/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Wed, 28 May 2014 13:28:09 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1381</guid>

					<description><![CDATA[Mozilla created a function that permits to inject some CSS into the document: addStylesheetRules() But if you use jQuery you may want to use this function: function injectCSS(rule) { $("head").append('&#60;style>' + rule + '&#60;/style>') } // example injectCSS("div { padding:5px }")]]></description>
										<content:encoded><![CDATA[<p>Mozilla created a function that permits to inject some CSS into the document: <a href="https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet.insertRule">addStylesheetRules()</a></p>
<p>But if you use jQuery you may want to use this function:</p>
<pre class="brush:javascript">
function injectCSS(rule) {
  $("head").append('&lt;style>' + rule + '&lt;/style>')
}

// example
injectCSS("div { padding:5px }")
</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2014/05/28/dynamically-inject-a-css-code-into-the-page-javascript/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Simple Org Chart in HTML/CSS/JS for Sharepoint</title>
		<link>https://blog.kodono.info/wordpress/2013/10/30/simple-org-chart-in-htmlcssjs-for-sharepoint/</link>
					<comments>https://blog.kodono.info/wordpress/2013/10/30/simple-org-chart-in-htmlcssjs-for-sharepoint/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Wed, 30 Oct 2013 16:11:18 +0000</pubDate>
				<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[sharepoint]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1285</guid>

					<description><![CDATA[In my job I&#8217;ve had to create an organizational chart on our Sharepoint. Find more on the Github Repository I opened for this little project: OrgChart-JS-Sharepoint]]></description>
										<content:encoded><![CDATA[<p>In my job I&#8217;ve had to create an organizational chart on our Sharepoint.</p>
<p>Find more on the Github Repository I opened for this little project: <a href="https://github.com/Aymkdn/OrgChart-JS-Sharepoint" title="OrgChart-JS-Sharepoint">OrgChart-JS-Sharepoint</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2013/10/30/simple-org-chart-in-htmlcssjs-for-sharepoint/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Obtenir une couleur plus sombre ou plus claire pour CSS [javascript]</title>
		<link>https://blog.kodono.info/wordpress/2012/05/22/obtenir-une-couleur-plus-sombre-ou-plus-claire-pour-css-javascript/</link>
					<comments>https://blog.kodono.info/wordpress/2012/05/22/obtenir-une-couleur-plus-sombre-ou-plus-claire-pour-css-javascript/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Tue, 22 May 2012 12:40:18 +0000</pubDate>
				<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=948</guid>

					<description><![CDATA[EDIT du 22/05/2012 : il existe un site qui permet de trouver plusieurs dégradés à partir d'une couleur, et ça se passe sur http://0to255.com/ EDIT du 20/09/2012 : et voilà encore un autre site un peu plus intéressant que le précédent http://sassme.arc90.com/ EDIT du 25/09/2012 : une autre fonction/méthode plus légère est disponible tout en [&#8230;]]]></description>
										<content:encoded><![CDATA[
<script type="text/javascript">
var pad = function(num, totalChars) {
    var pad = '0';
    num = num + '';
    while (num.length < totalChars) {
        num = pad + num;
    }
    return num;
};

// Ratio is between 0 and 1
var changeColor = function(color, ratio, darker) {
    // Trim trailing/leading whitespace
    color = color.replace(/^\s*|\s*$/, '');

    // Expand three-digit hex
    color = color.replace(
        /^#?([a-f0-9])([a-f0-9])([a-f0-9])$/i,
        '#$1$1$2$2$3$3'
    );

    // Calculate ratio
    var difference = Math.round(ratio * 256) * (darker ? -1 : 1),
        // Determine if input is RGB(A)
        rgb = color.match(new RegExp('^rgba?\\(\\s*' +
            '(\\d|[1-9]\\d|1\\d{2}|2[0-4][0-9]|25[0-5])' +
            '\\s*,\\s*' +
            '(\\d|[1-9]\\d|1\\d{2}|2[0-4][0-9]|25[0-5])' +
            '\\s*,\\s*' +
            '(\\d|[1-9]\\d|1\\d{2}|2[0-4][0-9]|25[0-5])' +
            '(?:\\s*,\\s*' +
            '(0|1|0?\\.\\d+))?' +
            '\\s*\\)$'
        , 'i')),
        alpha = !!rgb && rgb[4] != null ? rgb[4] : null,

        // Convert hex to decimal
        decimal = !!rgb? [rgb[1], rgb[2], rgb[3]] : color.replace(
            /^#?([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])/i,
            function() {
                return parseInt(arguments[1], 16) + ',' +
                    parseInt(arguments[2], 16) + ',' +
                    parseInt(arguments[3], 16);
            }
        ).split(/,/),
        returnValue;

    // Return RGB(A)
    return !!rgb ?
        'rgb' + (alpha !== null ? 'a' : '') + '(' +
            Math[darker ? 'max' : 'min'](
                parseInt(decimal[0], 10) + difference, darker ? 0 : 255
            ) + ', ' +
            Math[darker ? 'max' : 'min'](
                parseInt(decimal[1], 10) + difference, darker ? 0 : 255
            ) + ', ' +
            Math[darker ? 'max' : 'min'](
                parseInt(decimal[2], 10) + difference, darker ? 0 : 255
            ) +
            (alpha !== null ? ', ' + alpha : '') +
            ')' :
        // Return hex
        [
            '#',
            pad(Math[darker ? 'max' : 'min'](
                parseInt(decimal[0], 10) + difference, darker ? 0 : 255
            ).toString(16), 2),
            pad(Math[darker ? 'max' : 'min'](
                parseInt(decimal[1], 10) + difference, darker ? 0 : 255
            ).toString(16), 2),
            pad(Math[darker ? 'max' : 'min'](
                parseInt(decimal[2], 10) + difference, darker ? 0 : 255
            ).toString(16), 2)
        ].join('');
};
var lighterColor = function(color, ratio) {
    return changeColor(color, ratio, false);
};
var darkerColor = function(color, ratio) {
    return changeColor(color, ratio, true);
};

var plus = function(sens) {
  var val = (!document.getElementById('result').innerHTML ? document.getElementById('color-css').value : document.getElementById('result').innerHTML);
  document.getElementById('color-css').value = val;
  var res=(sens=="sombre"?darkerColor(val,document.getElementById('perc').value):lighterColor(val,document.getElementById('perc').value));
  document.getElementById('result').innerHTML=res;
  document.getElementById('result-en-couleur').style.backgroundColor=res;
};
</script>

<b>EDIT du 22/05/2012</b> : il existe un site qui permet de trouver plusieurs dégradés à partir d'une couleur, et ça se passe sur <a href="http://0to255.com/" title="Lien vers un site de dégradés de couleurs">http://0to255.com/</a><br>
<b>EDIT du 20/09/2012</b> : et voilà encore un autre site un peu plus intéressant que le précédent <a href="http://sassme.arc90.com/">http://sassme.arc90.com/</a><br>
<b>EDIT du 25/09/2012</b> : une autre fonction/méthode plus légère est disponible tout en bas du billet

<p>Voici un petit outil en ligne qui permet d'avoir une couleur plus claire ou plus sombre en se basant sur une couleur CSS et en demandant un pourcentage (exprimé entre 0 et 1) à appliquer :</p>
<fieldset>
<label for="color-css">Couleur CSS: <input id="color-css" type="text" placeholder="ex: #F4F4F4" /></label><br />
<label for="perc">Pourcentage à appliquer: <input id="perc" type="text" placeholder="ex: .2 pour 20%" /></label><br />
<button onclick="plus('sombre'); return false">plus sombre</button><button onclick="plus('clair'); return false">plus claire</button>
<div>Résultat: <span id="result"></span></div>
<div id="result-en-couleur" style="width:50px; height:50px"></div>
</fieldset>
<p>Cette fonction vient directement de <a href="http://stackoverflow.com/questions/1507931/generate-lighter-darker-color-in-css-using-javascript" title="Lien vers le code d'origine">stackoverflow.com</a> :</p>
<pre class="brush:javascript">
var pad = function(num, totalChars) {
    var pad = '0';
    num = num + '';
    while (num.length &lt; totalChars) {
        num = pad + num;
    }
    return num;
};

// Ratio is between 0 and 1
var changeColor = function(color, ratio, darker) {
    // Trim trailing/leading whitespace
    color = color.replace(/^\s*|\s*$/, '');

    // Expand three-digit hex
    color = color.replace(
        /^#?([a-f0-9])([a-f0-9])([a-f0-9])$/i,
        '#$1$1$2$2$3$3'
    );

    // Calculate ratio
    var difference = Math.round(ratio * 256) * (darker ? -1 : 1),
        // Determine if input is RGB(A)
        rgb = color.match(new RegExp('^rgba?\\(\\s*' +
            '(\\d|[1-9]\\d|1\\d{2}|2[0-4][0-9]|25[0-5])' +
            '\\s*,\\s*' +
            '(\\d|[1-9]\\d|1\\d{2}|2[0-4][0-9]|25[0-5])' +
            '\\s*,\\s*' +
            '(\\d|[1-9]\\d|1\\d{2}|2[0-4][0-9]|25[0-5])' +
            '(?:\\s*,\\s*' +
            '(0|1|0?\\.\\d+))?' +
            '\\s*\\)$'
        , 'i')),
        alpha = !!rgb &#038;& rgb[4] != null ? rgb[4] : null,

        // Convert hex to decimal
        decimal = !!rgb? [rgb[1], rgb[2], rgb[3]] : color.replace(
            /^#?([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])/i,
            function() {
                return parseInt(arguments[1], 16) + ',' +
                    parseInt(arguments[2], 16) + ',' +
                    parseInt(arguments[3], 16);
            }
        ).split(/,/),
        returnValue;

    // Return RGB(A)
    return !!rgb ?
        'rgb' + (alpha !== null ? 'a' : '') + '(' +
            Math[darker ? 'max' : 'min'](
                parseInt(decimal[0], 10) + difference, darker ? 0 : 255
            ) + ', ' +
            Math[darker ? 'max' : 'min'](
                parseInt(decimal[1], 10) + difference, darker ? 0 : 255
            ) + ', ' +
            Math[darker ? 'max' : 'min'](
                parseInt(decimal[2], 10) + difference, darker ? 0 : 255
            ) +
            (alpha !== null ? ', ' + alpha : '') +
            ')' :
        // Return hex
        [
            '#',
            pad(Math[darker ? 'max' : 'min'](
                parseInt(decimal[0], 10) + difference, darker ? 0 : 255
            ).toString(16), 2),
            pad(Math[darker ? 'max' : 'min'](
                parseInt(decimal[1], 10) + difference, darker ? 0 : 255
            ).toString(16), 2),
            pad(Math[darker ? 'max' : 'min'](
                parseInt(decimal[2], 10) + difference, darker ? 0 : 255
            ).toString(16), 2)
        ].join('');
};
var lighterColor = function(color, ratio) {
    return changeColor(color, ratio, false);
};
var darkerColor = function(color, ratio) {
    return changeColor(color, ratio, true);
};

// Use
var darker = darkerColor('rgba(80, 75, 52, .5)', .2);
var lighter = lighterColor('rgba(80, 75, 52, .5)', .2);
</pre>
<p>Une autre méthode, plus légère, inspirée par <a href="http://stackoverflow.com/questions/5560248/programmatically-lighten-or-darken-a-hex-color">stackoverflow</a>:</p>
<pre class="brush:javascript">
function LightenDarkenColor(col,amt,usePound,num,f,h,r,b,g) {
  if (col[0]=="#") {
    col = col.slice(1);
    usePound = (usePound==undefined?true:usePound)
  }

  num = parseInt(col,16);
  f=function(n) { return n>255?255:(n&lt;0?0:n) }
  h=function(n) { return n.length&lt;2?"0"+n:n }
  
  r = h(f((num >> 16) + amt).toString(16));
  b = h(f(((num >> 8) &#038; 0x00FF) + amt).toString(16));
  g = h(f((num &#038; 0x0000FF) + amt).toString(16));

  return (usePound?"#":"") + r + b + g;
}

LightenDarkenColor("#FAB787",10);
LightenDarkenColor("#FAB787",-15);
LightenDarkenColor("FAB787",5,true);
</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2012/05/22/obtenir-une-couleur-plus-sombre-ou-plus-claire-pour-css-javascript/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Datepicker pour Bootstrap [Javascript]</title>
		<link>https://blog.kodono.info/wordpress/2012/04/02/datepicker-pour-bootstrap-javascript/</link>
					<comments>https://blog.kodono.info/wordpress/2012/04/02/datepicker-pour-bootstrap-javascript/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Mon, 02 Apr 2012 15:29:29 +0000</pubDate>
				<category><![CDATA[Niveau débutant]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[javascript]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1002</guid>

					<description><![CDATA[Edit 5/04/2012 : d&#8217;autres personnes ont fait comme moi, et vous pouvez trouver leur repository sur https://github.com/eternicode/bootstrap-datepicker &#8212; ils ont corrigé les mêmes bugs visiblement et ont ajouté quelques petites choses comme le support i18n (internationalisation du format de la date) J&#8217;ai découvert un datepicker qui utilise l&#8217;excellent Bootstrap de Twitter (vous savez c&#8217;est un [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><b>Edit 5/04/2012</b> : d&#8217;autres personnes ont fait comme moi, et vous pouvez trouver leur repository sur <a href="https://github.com/eternicode/bootstrap-datepicker" title="Lien vers le repository GitHub du Datepicker fait par Eternicode">https://github.com/eternicode/bootstrap-datepicker</a> &#8212; ils ont corrigé les mêmes bugs visiblement et ont ajouté quelques petites choses comme le support i18n (internationalisation du format de la date)</p>
<p>J&#8217;ai découvert un <a href="http://www.eyecon.ro/bootstrap-datepicker/" title="Lien vers le site d'origine du code">datepicker</a> qui utilise l&#8217;excellent <a href="http://twitter.github.com/bootstrap/index.html" title="Lien vers la documentation de Bootstrap">Bootstrap de Twitter</a> (vous savez c&#8217;est un ensemble de CSS qu&#8217;on peut utiliser pour des effets très réussis), et qui rend comme ça :<br />
<img fetchpriority="high" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2012/04/Datepicker-for-Bootstrap.png" alt="" title="Screenshot for Datepicker-for-Bootstrap" width="268" height="273" class="aligncenter size-full wp-image-1003" /></p>
<p>Je me suis empressé de l&#8217;utiliser dans un projet, jusqu&#8217;à ce que je me rende compte qu&#8217;il ne fonctionne pas avec <b>Bootstrap v2.0.2</b>, et ni avec IE7+ &#8230;. Du coup j&#8217;ai modifié le code d&#8217;origine pour outrepasser ces divers problèmes (plus d&#8217;autres petites choses). J&#8217;aurais proposé mon patch au créateur s&#8217;il utilisait GitHub, mais ce n&#8217;est pas le cas, donc j&#8217;ai créé un repository pour ce projet là : <a href="https://github.com/Aymkdn/Datepicker-for-Bootstrap" title="Lien vers le repository GitHub du Datepicker">https://github.com/Aymkdn/Datepicker-for-Bootstrap</a></p>
<p>Il ressemble en tout point à la version d&#8217;origine, sauf qu&#8217;il fonctionne maintenant pour IE et pour la dernière version de Bootstrap. Il permet aussi d&#8217;avoir la date du jour comme date par défaut (au lieu du 1/1/1970 &#8230;.), et évite d&#8217;avoir une date sélectionnée automatiquement lorsqu&#8217;on ne fait que passer par le champ en utilisant la touche TAB.</p>
<p>Et bien sûr il y a la <a href="http://aymkdn.github.com/Datepicker-for-Bootstrap/" title="Lien vers la démonstration de l'utilisation du Datepicker">démo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2012/04/02/datepicker-pour-bootstrap-javascript/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>CSS3 PIE pour créer un border-radius sur IE [webdesign]</title>
		<link>https://blog.kodono.info/wordpress/2012/02/09/css3-pie-pour-creer-un-border-radius-sur-ie-webdesign/</link>
					<comments>https://blog.kodono.info/wordpress/2012/02/09/css3-pie-pour-creer-un-border-radius-sur-ie-webdesign/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Thu, 09 Feb 2012 10:52:47 +0000</pubDate>
				<category><![CDATA[Navigateur]]></category>
		<category><![CDATA[Niveau débutant]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[IE]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=932</guid>

					<description><![CDATA[Si vous cherchez à faire un border-radius sur un vieux IE vous avez dû vous rendre compte que cela ne fonctionne pas&#8230; mais heureusement il existe CSS3 PIE qui est un &#8220;petit&#8221; fichier qui va permettre de créer l&#8217;effet désiré ! A noter cependant que je rencontre un problème : lorsque j&#8217;applique le fichier htc [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Si vous cherchez à faire un <code>border-radius</code> sur un vieux IE vous avez dû vous rendre compte que cela ne fonctionne pas&#8230; mais heureusement il existe <a href="http://css3pie.com" title="Lien vers CSS3PIE">CSS3 PIE</a> qui est un &#8220;petit&#8221; fichier qui va permettre de créer l&#8217;effet désiré !</p>
<p>A noter cependant que je rencontre un problème : lorsque j&#8217;applique le fichier <em>htc</em> avec <code>behavior</code> alors j&#8217;ai ma couleur de fond (<code>background-color</code>) qui devient invisible / disparait. Ce problème peut-être résolu en appliquant la règle CSS suivante (<a href="http://css3pie.com/forum/viewtopic.php?f=3&#038;t=1474" title="Lien vers le forum CSS3 PIE">solution trouvée sur leur forum</a>):</p>
<pre class="brush:css">* { position:relative }</pre>
<p>Grâce à ça tout fonctionne sous IE <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2012/02/09/css3-pie-pour-creer-un-border-radius-sur-ie-webdesign/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Réduire la taille d&#8217;une web font et bien plus encore&#8230;. [bookmark]</title>
		<link>https://blog.kodono.info/wordpress/2011/12/01/reduire-la-taille-dune-web-font-et-bien-plus-encore-bookmark/</link>
					<comments>https://blog.kodono.info/wordpress/2011/12/01/reduire-la-taille-dune-web-font-et-bien-plus-encore-bookmark/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Thu, 01 Dec 2011 21:00:42 +0000</pubDate>
				<category><![CDATA[À bookmarker]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[font]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=778</guid>

					<description><![CDATA[Le site FontSquirrel propose un outil très puissant qui va vous transformer votre font en tous les formats (woff, eot, ttf, svg, &#8230;), mais il vous propose aussi de réduire la taille de votre font pour une utilisation Web (ce qu&#8217;on nomme le &#8220;subsetting&#8221;). Par exemple si vous n&#8217;allez avoir besoin que des chiffres, il [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Le site <a href="http://www.fontsquirrel.com/fontface/generator">FontSquirrel</a> propose un outil très puissant qui va vous transformer votre font en tous les formats (woff, eot, ttf, svg, &#8230;), mais il vous propose aussi de réduire la taille de votre font pour une utilisation Web (ce qu&#8217;on nomme le &#8220;subsetting&#8221;). Par exemple si vous n&#8217;allez avoir besoin que des chiffres, il est dommage de télécharger une font de 500ko qui contient tous les caractères de tous les alphabets, alors qu&#8217;en ne conservant que les chiffres on pourrait tomber à 10ko.</p>
<p>Un outil à utiliser de toute urgence si vous devez traiter avec des web fonts !</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2011/12/01/reduire-la-taille-dune-web-font-et-bien-plus-encore-bookmark/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Simple effet highlight sur un element avec jQuery [javascript]</title>
		<link>https://blog.kodono.info/wordpress/2011/07/19/effet-highlight-un-element-avec-jquery-javascript/</link>
					<comments>https://blog.kodono.info/wordpress/2011/07/19/effet-highlight-un-element-avec-jquery-javascript/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Tue, 19 Jul 2011 15:48:59 +0000</pubDate>
				<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=612</guid>

					<description><![CDATA[[niveau: intermédiaire] Si vous souhaitez créer un effet highlight sur un élément (en passant le background en jaune par exemple), voici comment il faut s&#8217;y prendre : jQuery.prototype.highlight = function() { jQuery(this).css("background-color","yellow").fadeTo('slow', 0.1, function() { jQuery(this).fadeTo('slow', 1.0, function() { jQuery(this).css("background-color","white"); }); }); }; jQuery('#mon-element').highlight(); A tester ici : Hello, I&#8217;m an example Highlight Total 31337 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau: intermédiaire]</p>
<p>Si vous souhaitez créer un effet  highlight sur un élément (en passant le background en jaune par exemple), voici comment il faut s&#8217;y prendre :</p>
<div class="code script">
<pre class="js">
jQuery.prototype.highlight = function() { 
  jQuery(this).css("background-color","yellow").fadeTo('slow', 0.1, function() {
    jQuery(this).fadeTo('slow', 1.0, function() {
      jQuery(this).css("background-color","white");
    });
  });
};

jQuery('#mon-element').highlight();
</pre>
</div>
<p><script>
jQuery.prototype.highlight = function() { 
  jQuery(this).css("background-color","yellow").fadeTo('slow', 0.1, function() {
    jQuery(this).fadeTo('slow', 1.0, function() {
      jQuery(this).css("background-color","white");
    });
  });
};
</script></p>
<div style="display:none">
A tester ici :</p>
<div>
<table border="1">
<tr>
<td colspan="2">Hello, I&#8217;m an example</td>
<td><a href="#nogo" onclick="jQuery(this).closest('tr').find('td').highlight()">Highlight</a></td>
</tr>
<tr>
<td>Total</td>
<td>31337</td>
<td><a href="#nogo" onclick="jQuery(this).closest('tr').find('td').highlight()">Highlight</a></td>
</tr>
</table>
<p>Ceci est pour le test. <a href="#nogo" onclick="jQuery(this).parent().highlight()">Highlight</a></p>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2011/07/19/effet-highlight-un-element-avec-jquery-javascript/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Les widgets de la sidebar WordPress ne se sauvegardent pas [WordPress]</title>
		<link>https://blog.kodono.info/wordpress/2011/02/19/probleme-widgets-sidebar-wordpress-non-sauvegardes/</link>
					<comments>https://blog.kodono.info/wordpress/2011/02/19/probleme-widgets-sidebar-wordpress-non-sauvegardes/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sat, 19 Feb 2011 11:20:16 +0000</pubDate>
				<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=520</guid>

					<description><![CDATA[[niveau: intermédiaire] Vous utilisez WordPress et avez choisi un des nombreux thèmes gratuits qu&#8217;on trouve sur le Net. Et puis vous souhaitez utiliser la barre latérale (&#8220;sidebar&#8221;) pour afficher dynamiquement des widgets comme WordPress le permet ? Cependant vous remarquez que même en cliquant sur &#8220;Save&#8221;, les widgets ajoutés ne se sauvegardent jamais&#8230; Tout d&#8217;abord [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau: intermédiaire]</p>
<p>Vous utilisez WordPress et avez choisi un des nombreux thèmes gratuits qu&#8217;on trouve sur le Net. Et puis vous souhaitez utiliser la barre latérale (&#8220;sidebar&#8221;) pour afficher dynamiquement des widgets comme WordPress le permet ? Cependant vous remarquez que même en cliquant sur &#8220;Save&#8221;, les widgets ajoutés ne se sauvegardent jamais&#8230;</p>
<p>Tout d&#8217;abord vous devez aller vérifier le fichier sidebar.php (&#8220;Barre latérale&#8221;) dans l&#8217;éditeur de votre thème.<br />
Voici un exemple de ce que vous devriez avoir:</p>
<pre class="brush:php">&lt;ul id="sidebar"&gt;
&lt;?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?&gt;
 &lt;li id="about"&gt;
  &lt;h2&gt;About&lt;/h2&gt;
  &lt;p&gt;This is my blog.&lt;/p&gt;
 &lt;/li&gt;
 &lt;li id="links"&gt;
  &lt;h2&gt;Links&lt;/h2&gt;
  &lt;ul&gt;
   &lt;li&gt;&lt;a href="http://example.com"&gt;Example&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
 &lt;/li&gt;
&lt;?php endif; ?&gt;
&lt;/ul&gt;</pre>
<p>C&#8217;est le code par défaut <strong>qui fonctionne</strong> pour que la sidebar s&#8217;affiche correctement. Vous devriez donc d&#8217;abord tester en insérant ce code là. On notera que s&#8217;il n&#8217;y a pas de widgets, alors la barre affichera les deux éléments définis par défaut (ici &#8220;About&#8221; et &#8220;Links&#8221;).</p>
<p>Maintenant, il suffit d&#8217;activer la sidebar dans le fichier &#8220;functions.php&#8221; de votre thème. Pour cela, voici le code que vous devriez avoir dans ce fichier :</p>
<pre class="brush:php">&lt;?php
if ( function_exists('register_sidebar') )
    register_sidebar();
?&gt;</pre>
<p>C&#8217;est tout, seulement ces quatre lignes. Il dit à WordPress qu&#8217;il doit activer une sidebar. Maintenant, les widgets doivent pouvoir s&#8217;ajouter et se sauvegarder sans problème.</p>
<p>Supposons maintenant que vous ne voulez pas utiliser le code par défaut, mais que vous voulez une barre latérale un peu plus personnalisée.<br />
Voici un exemple avec des <em>div</em> :</p>
<pre class="brush:php">&lt;div id="sidebar"&gt;
&lt;?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?&gt;
 &lt;div class="mywidget"&gt;
  &lt;h2 class="title"&gt;About&lt;/h2&gt;
  &lt;p&gt;This is my blog.&lt;/p&gt;
 &lt;/div&gt;
 &lt;div class="mywidget"&gt;
  &lt;h2 class="title"&gt;Links&lt;/h2&gt;
  &lt;ul&gt;
   &lt;li&gt;&lt;a href="http://example.com"&gt;Example&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
 &lt;/div&gt;
&lt;?php endif; ?&gt;
&lt;/div&gt;</pre>
<p>Et le code associé à mettre dans le fichier functions.php :</p>
<pre class="brush:php">&lt;?php
if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'before_widget' =&gt; '&lt;div class="monwidget"&gt;',
        'after_widget' =&gt; '&lt;/div&gt;',
        'before_title' =&gt; '&lt;h2 class="title"&gt;',
        'after_title' =&gt; '&lt;/h2&gt;',
    ));
?&gt;</pre>
<p>Maintenant vos widgets devraient s&#8217;enregistrer sans problème !</p>
<p>(Source: <a href="http://automattic.com/code/widgets/themes/">http://automattic.com/code/widgets/themes/</a>)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2011/02/19/probleme-widgets-sidebar-wordpress-non-sauvegardes/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Equivalent de ModalBox de okonet.ru en jQuery [javascript]</title>
		<link>https://blog.kodono.info/wordpress/2011/02/16/modalbox-jquery/</link>
					<comments>https://blog.kodono.info/wordpress/2011/02/16/modalbox-jquery/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Wed, 16 Feb 2011 11:25:16 +0000</pubDate>
				<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[modal]]></category>
		<category><![CDATA[popup]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=518</guid>

					<description><![CDATA[J&#8217;ai longuement cherché un équivalent en jQuery de ModalBox qui est, lui, basé sur PrototypeJS. Je voulais avoir cet effet MacOS X qu&#8217;il donne à ses fenêtres popup. Après d&#8217;infructueuses recherches je suis finalement tombé sur SimpleModal qui propose exactement le même effet de popup basé sur un style MacOS X, et le tout pour [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>J&#8217;ai longuement cherché un équivalent en jQuery de <a href="http://okonet.ru/projects/modalbox/">ModalBox</a> qui est, lui, basé sur PrototypeJS. Je voulais avoir cet effet MacOS X qu&#8217;il donne à ses fenêtres popup.</p>
<p>Après d&#8217;infructueuses recherches je suis finalement tombé sur <a href="http://www.ericmmartin.com/projects/simplemodal/">SimpleModal</a> qui propose exactement le même <a href="http://www.ericmmartin.com/projects/simplemodal-demos/#osx-dialog">effet de popup basé sur un style MacOS X</a>, et le tout pour jQuery !</p>
<p>J&#8217;espère que ce post servira à ceux qui cherchent comme moi un équivalent jQuery à ModalBox <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2011/02/16/modalbox-jquery/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Emuler Internet Explorer de Windows Mobile [Web Design]</title>
		<link>https://blog.kodono.info/wordpress/2010/08/03/emuler-internet-explorer-de-windows-mobile-web-design/</link>
					<comments>https://blog.kodono.info/wordpress/2010/08/03/emuler-internet-explorer-de-windows-mobile-web-design/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Tue, 03 Aug 2010 17:48:28 +0000</pubDate>
				<category><![CDATA[Application]]></category>
		<category><![CDATA[Navigateur]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[internet explorer]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=462</guid>

					<description><![CDATA[[niveau: intermédiaire] Pour tester la version mobile d&#8217;Internet Explorer il vous faut installer tout un attirail : &#8211; Virtual PC 2007; &#8211; Gestionnaire pour appareils Windows Mobile 6.1; &#8211; 040C/Windows Mobile 6 Professional Images (FRA).msi (attention de bien prendre la version PROFESSIONAL). Une fois tout cela installé, il faut procéder à plusieurs étapes : Dans [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau: intermédiaire]</p>
<p>Pour tester la version mobile d&#8217;Internet Explorer il vous faut installer tout un attirail :<br />
&#8211; <a href="https://www.microsoft.com/downloads/details.aspx?displaylang=fr&#038;familyid=04d26402-3199-48a3-afa2-2dc0b40a73b6">Virtual PC 2007</a>;<br />
&#8211; <a href="https://www.microsoft.com/downloads/details.aspx?familyid=46F72DF1-E46A-4A5F-A791-09F07AAA1914&#038;displaylang=fr">Gestionnaire pour appareils Windows Mobile 6.1</a>;<br />
&#8211; <a href="https://www.microsoft.com/downloads/details.aspx?FamilyID=38c46aa8-1dd7-426f-a913-4f370a65a582&#038;displaylang=en">040C/Windows Mobile 6 Professional Images (FRA).msi</a> (attention de bien prendre la version PROFESSIONAL).</p>
<p>Une fois tout cela installé, il faut procéder à plusieurs étapes :</p>
<ol>
<li>Dans le menu Démarrer, choisissez <em>Windows Mobile 6 SDK</em>, puis <em>Standalone Emulator Images</em>, <em>French</em> et <em>Professional</em>; une fois lancé, cliquez sur <em>File</em>, <em>Configure&#8230;</em> puis <em>Network</em> et cochez la case &#8220;Enable NE2000 PCMCIA&#8221; et prenez votre connexion dans la liste déroulante.</li>
<li>Lancez maintenant <em>Device Emulator Manager</em> depuis le menu Démarrer de Windows; une fois lancé, dans l&#8217;arborescence, cliquez droit sur ce qui correspond à l&#8217;émulateur et prenez l&#8217;option &#8220;Cradle&#8221;.</li>
<li>Maintenant lancez le <em>Gestionnaire pour appareil Windows Mobile</em> depuis le menu Démarrer</li>
<li>Le gestionnaire devrait détecter votre émulateur et l&#8217;ajouter; de là vous pourrez configurer la connexion réseau en suivant cette image :<br />
<a href="http://blog.kodono.info/wordpress/wp-content/uploads/2010/08/20100803_emulateur_IE.png"><img decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2010/08/20100803_emulateur_IE.png" alt="" title="20100803_emulateur_IE" width="468" height="301" class="aligncenter size-full wp-image-463" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2010/08/20100803_emulateur_IE.png 468w, https://blog.kodono.info/wordpress/wp-content/uploads/2010/08/20100803_emulateur_IE-300x192.png 300w" sizes="(max-width: 468px) 100vw, 468px" /></a></li>
<li>Maintenant vous devriez pouvoir lancer Internet Explorer sur votre émulateur et vous devriez avoir accès à Internet !</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2010/08/03/emuler-internet-explorer-de-windows-mobile-web-design/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Convertir des &#8217;em&#8217; en &#8216;px&#8217; (WebDesign)</title>
		<link>https://blog.kodono.info/wordpress/2009/10/05/convertir-des-em-en-px-webdesign/</link>
					<comments>https://blog.kodono.info/wordpress/2009/10/05/convertir-des-em-en-px-webdesign/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Mon, 05 Oct 2009 10:13:15 +0000</pubDate>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=360</guid>

					<description><![CDATA[[niveau intermédiaire] Lorsqu&#8217;on crée des CSS, il arrive qu&#8217;on s&#8217;y perde un peu entre les px bien pratiques, et les em tout aussi pratiques mais bien moins parlant&#8230;. Le site http://pxtoem.com/ propose de convertir des pixels en em.]]></description>
										<content:encoded><![CDATA[<p>[niveau intermédiaire]</p>
<p>Lorsqu&#8217;on crée des CSS, il arrive qu&#8217;on s&#8217;y perde un peu entre les px bien pratiques, et les <a href="http://www.alsacreations.com/article/lire/563-gerer-la-taille-du-texte-avec-les-em.html">em tout aussi pratiques</a> mais bien moins parlant&#8230;.</p>
<p>Le site <a href="http://pxtoem.com/">http://pxtoem.com/</a> propose de convertir des pixels en em.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/10/05/convertir-des-em-en-px-webdesign/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Tester son site sous plusieurs résolutions [Web Design]</title>
		<link>https://blog.kodono.info/wordpress/2009/07/03/tester-son-site-sous-plusieurs-resolutions-web-design/</link>
					<comments>https://blog.kodono.info/wordpress/2009/07/03/tester-son-site-sous-plusieurs-resolutions-web-design/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Fri, 03 Jul 2009 05:59:46 +0000</pubDate>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[résolution]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=254</guid>

					<description><![CDATA[[niveau: débutant] Via Presse-Citron j&#8217;ai découvert le site View Like Us qui propose de voir à quoi ressemble un site web selon la résolution de l&#8217;écran, allant de l&#8217;iPhone à au 1920&#215;1200, en passant par la Wii. Rapide, gratuit et efficace.]]></description>
										<content:encoded><![CDATA[<p>[niveau: débutant]</p>
<p>Via <a href="http://www.presse-citron.net">Presse-Citron</a> j&#8217;ai découvert le site <a href="http://viewlike.us">View Like Us</a> qui propose de voir à quoi ressemble un site web selon la résolution de l&#8217;écran, allant de l&#8217;iPhone à au 1920&#215;1200, en passant par la Wii.</p>
<p>Rapide, gratuit et efficace.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/07/03/tester-son-site-sous-plusieurs-resolutions-web-design/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Installer Linux dans Windows et tester ainsi les navigateurs Linux [Web Design]</title>
		<link>https://blog.kodono.info/wordpress/2009/05/13/installer-linux-dans-windows-et-tester-ainsi-les-navigateurs-linux-web-design/</link>
					<comments>https://blog.kodono.info/wordpress/2009/05/13/installer-linux-dans-windows-et-tester-ainsi-les-navigateurs-linux-web-design/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Wed, 13 May 2009 10:18:48 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Navigateur]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=158</guid>

					<description><![CDATA[[niveau: intermédiaire] Linux est un système d&#8217;exploitation qui était réservé au geek, mais depuis plusieurs années les distributeurs font en sorte que cet OS soit plus facile à installer et à utiliser. Linux apparaît d&#8217;ailleurs de plus en plus comme une alternative à Windows. Il y a donc plusieurs raisons qui pourraient vous pousser à [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau: intermédiaire]</p>
<p>Linux est un système d&#8217;exploitation qui était réservé au <i>geek</i>, mais depuis plusieurs années les distributeurs font en sorte que cet OS soit plus facile à installer et à utiliser. Linux apparaît d&#8217;ailleurs de plus en plus comme une alternative à Windows.</p>
<p>Il y a donc plusieurs raisons qui pourraient vous pousser à installer Linux:<br />
&#8211; tester pour voir à quoi ça ressemble<br />
&#8211; regarder les applications disponibles<br />
&#8211; comprendre comment il est configurable<br />
&#8211; <b>tester les navigateurs</b> pour vos sites web</p>
<p>Pour entrer dans le monde merveilleux du Pingouin (qui en est la mascotte), vous avez principalement trois solutions:</p>
<ol>
<li>l&#8217;installation pure et dure du système en parallèle de Windows, c&#8217;est-à-dire que vous choisissez l&#8217;un ou l&#8217;autre au démarrage de la machine</li>
<li>l&#8217;utilisation d&#8217;un <a href="http://fr.wikipedia.org/wiki/LiveCD">LiveCD</a> qui offre la possibilité de démarrer sur un CD (ou une clé USB) qui contient Linux et ainsi de le tester sans rien installer sur l&#8217;ordinateur</li>
<li>virtualiser Linux (à l&#8217;instar de ce que je vous ai montré <a href="http://blog.kodono.info/wordpress/2009/04/20/tester-un-site-sous-ie6-ie7-et-ie8-web-design/">l&#8217;autre fois pour tester les IE</a>)</li>
</ol>
<p>Je vais ici vous expliquer le dernier cas. En effet, je connais déjà bien Linux, et l&#8217;intérêt majeur pour moi de l&#8217;installer est de pouvoir tester Firefox, Epiphany, et autres navigateurs afin de m&#8217;assurer du design d&#8217;un site web.</p>
<p>Virtualiser Linux dans Windows est simple. Si <a href="http://blog.kodono.info/wordpress/2009/04/20/tester-un-site-sous-ie6-ie7-et-ie8-web-design/">la dernière fois</a> nous avons utilisé VirtualPC c&#8217;est parce que Microsoft fournissait des images déjà prêtes pour leur logiciel. Mais cette fois-ci, nous allons plutôt utiliser <a href="http://www.virtualbox.org/">VirtualBox</a>. Pourquoi ? Parce que si vous installez Linux (et ici ce sera Ubuntu) dans VirtualPC, alors vous allez avoir une résolution d&#8217;écran de 800&#215;600, ce qui n&#8217;est pas franchement pratique. Les démarches pour passer en une résolution supérieure sont compliquées et risquées, alors qu&#8217;avec VirtualBox il suffit de quelques commandes !</p>
<p>La première chose à faire est donc de <a href="http://www.virtualbox.org/wiki/Downloads">télécharger VirtualBox</a> (j&#8217;utilise dans cet exemple la version &#8220;VirtualBox 2.2.2 for Windows hosts&#8221;). Ensuite, il vous faut télécharger une distribution Linux. Il en existe des centaines de versions&#8230; Plusieurs sites essaient de vous guider, comme <a href="http://www.commentcamarche.net/faq/sujet-3742-choisir-une-distribution-linux">Comment ça marche</a>. Pour notre cas pratique nous prendrons <a href="http://www.ubuntu-fr.org/">Ubuntu</a> qui est l&#8217;une des plus utilisées.<br />
Il vous faut récupérer l&#8217;image ISO d&#8217;Ubuntu (à l&#8217;heure où j&#8217;écris ces lignes le fichier est <a href="ftp://ftp.crihan.fr/releases/9.04/ubuntu-9.04-desktop-i386.iso">ftp://ftp.crihan.fr/releases/9.04/ubuntu-9.04-desktop-i386.iso</a>).</p>
<p>Une fois téléchargé, ouvrez VirtualBox (que vous aurez déjà installé). Cliquez sur &#8220;Nouveau&#8221; :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox1.jpg" alt="20090413_vbox1" title="20090413_vbox1" width="467" height="281" class="aligncenter size-full wp-image-162" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox1.jpg 467w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox1-300x180.jpg 300w" sizes="auto, (max-width: 467px) 100vw, 467px" /><br />
Pour le nom inscrivez &#8220;Ubuntu&#8221;, et pour système d&#8217;exploitation prenez &#8220;Linux&#8221; et la version &#8220;Ubuntu&#8221; :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox2.jpg" alt="20090413_vbox2" title="20090413_vbox2" width="495" height="420" class="aligncenter size-full wp-image-163" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox2.jpg 495w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox2-300x254.jpg 300w" sizes="auto, (max-width: 495px) 100vw, 495px" /><br />
Continuez avec les options par défaut.</p>
<p>Une fois fini vous devriez avoir cela :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox4.jpg" alt="20090413_vbox4" title="20090413_vbox4" width="769" height="573" class="aligncenter size-full wp-image-164" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox4.jpg 769w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox4-300x223.jpg 300w" sizes="auto, (max-width: 769px) 100vw, 769px" /></p>
<p>Maintenant cliquez sur &#8220;Lancer&#8221; afin d&#8217;activer l&#8217;assistant de premier lancement. Celui-ci vous demande ce que vous voulez installer. Choisissez &#8220;Disque Optique&#8221; et &#8220;Fichier Image&#8221; en sélectionnant le fichier iso que vous avez téléchargé précédemment (&#8220;ubuntu-9.04-desktop-i386.iso&#8221;) ;<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox5.jpg" alt="20090413_vbox5" title="20090413_vbox5" width="458" height="415" class="aligncenter size-full wp-image-165" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox5.jpg 458w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox5-300x271.jpg 300w" sizes="auto, (max-width: 458px) 100vw, 458px" /><br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox6.jpg" alt="20090413_vbox6" title="20090413_vbox6" width="632" height="494" class="aligncenter size-full wp-image-166" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox6.jpg 632w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox6-300x234.jpg 300w" sizes="auto, (max-width: 632px) 100vw, 632px" /></p>
<p>L&#8217;écran d&#8217;installation d&#8217;Ubuntu va démarrer. Vous n&#8217;avez plus qu&#8217;à choisir &#8220;Français&#8221; (avec les flèches) puis de prendre &#8220;Installer Ubuntu&#8221; :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7.jpg" alt="20090413_vbox7" title="20090413_vbox7" width="650" height="560" class="aligncenter size-full wp-image-167" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7.jpg 650w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7-300x258.jpg 300w" sizes="auto, (max-width: 650px) 100vw, 650px" /></p>
<p>Laissez les options par défaut proposées. Après plusieurs clics et quelques minutes vous vous retrouvez sous Ubuntu ! Malheureusement vous remarquez que vous êtes en résolution 800&#215;600&#8230; Voilà un problème de résolution d&#8217;écran qui est simple à régler.</p>
<p>Tout d&#8217;abord, vérifiez que vous n&#8217;avez aucune image CD chargée. Pour cela, votre bureau Ubuntu doit être vide de toute icône. Si vous voyez une icône en forme de CD avec un nom qui commence par Ubuntu, alors faites un clic droit dessus puis &#8220;Ejecter&#8221;. Une fois fait, sortez de la machine virtuelle (en appuyant sur la touche &#8220;Ctrl&#8221; de votre clavier, mais celle qui se trouve à droite), puis aller dans <em>Périphériques &gt; Installer les Additions invité&#8230;</em> :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7bis.jpg" alt="20090413_vbox7bis" title="20090413_vbox7bis" width="433" height="637" class="aligncenter size-full wp-image-168" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7bis.jpg 433w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7bis-203x300.jpg 203w" sizes="auto, (max-width: 433px) 100vw, 433px" /><br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox8.jpg" alt="20090413_vbox8" title="20090413_vbox8" width="815" height="680" class="aligncenter size-full wp-image-169" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox8.jpg 815w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox8-300x250.jpg 300w" sizes="auto, (max-width: 815px) 100vw, 815px" /></p>
<p>Devrait alors apparaitre une icône avec un CD sur le bureau :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox12.jpg" alt="20090413_vbox12" title="20090413_vbox12" width="492" height="257" class="aligncenter size-full wp-image-170" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox12.jpg 492w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox12-300x156.jpg 300w" sizes="auto, (max-width: 492px) 100vw, 492px" /><br />
(si ce n&#8217;est pas le cas, allez dans <em>Machine &gt; Redémarrage</em> pour redémarrer la machine virtuelle)</p>
<p>Maintenant, dans Ubuntu, allez dans <em>Applications &gt; Accessoires &gt; Terminal</em>. Une fenêtre au fond blanc s&#8217;ouvre. Vous allez y taper les commandes suivants :<br />
<code>sudo su<br />
<i>/* entrez votre password défini durant l'installation */</i><br />
cd /media/cdrom0<br />
./VBoxLinuxAdditions-x86.run</code><br />
Après quoi le système vous indique qu&#8217;il doit redémarrer. Ce qui doit donner :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox13.jpg" alt="20090413_vbox13" title="20090413_vbox13" width="817" height="676" class="aligncenter size-full wp-image-171" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox13.jpg 817w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox13-300x248.jpg 300w" sizes="auto, (max-width: 817px) 100vw, 817px" /></p>
<p>Pour redémarrer, allez dans <em>Machine  &gt; Redémarrage</em>. Une fois le boot terminé, vous verrez Ubuntu avec une résolution d&#8217;écran équivalente à la vôtre !</p>
<p>Vous n&#8217;avez plus qu&#8217;à lancer Firefox pour découvrir le rendu de votre site, et vous pouvez installer d&#8217;autres navigateurs pour les tester.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/05/13/installer-linux-dans-windows-et-tester-ainsi-les-navigateurs-linux-web-design/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Quelles polices de caractères utilisées sur le web ? [Web Design]</title>
		<link>https://blog.kodono.info/wordpress/2009/05/12/quelles-polices-de-caracteres-utilisees-sur-le-web-web-design/</link>
					<comments>https://blog.kodono.info/wordpress/2009/05/12/quelles-polices-de-caracteres-utilisees-sur-le-web-web-design/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Tue, 12 May 2009 10:34:04 +0000</pubDate>
				<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[css]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=149</guid>

					<description><![CDATA[[niveau: intermédiaire] Si vous n&#8217;êtes pas un webdesigner professionnel, vous vous demandez sans doute quelles polices de caractères sont utilisables sur le Web. Peut-on utiliser une fonte personnalisée? Quelles sont les principales familles de fontes génériques? C&#8217;est ainsi qu&#8217;est introduit le billet d&#8217;Alsacreation qui vous explique parfaitement les polices disponibles pour la plupart des navigateurs. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau: intermédiaire]</p>
<blockquote><p>Si vous n&#8217;êtes pas un webdesigner professionnel, vous vous demandez sans doute quelles polices de caractères sont utilisables sur le Web. Peut-on utiliser une fonte personnalisée? Quelles sont les principales familles de fontes génériques?</p></blockquote>
<p>C&#8217;est ainsi qu&#8217;est introduit le <a href="http://www.alsacreations.com/article/lire/631-quelles-polices-pour-un-site-web.html">billet d&#8217;Alsacreation</a> qui vous explique parfaitement les polices disponibles pour la plupart des navigateurs.</p>
<p>Dans cet excellent billet, l&#8217;auteur nous propose plusieurs polices de caractères:</p>
<div class="code">
<pre class="css">/* Polices à empattements (serif) */
font-family: Times, "Times New Roman", "Liberation Serif", FreeSerif, serif;
font-family: Georgia, "DejaVu Serif", Norasi, serif;

/* Polices sans empattements (sans-serif) */
font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-family: "Lucida Sans", "Lucida Grande", "Lucida Sans Unicode", "Luxi Sans", sans-serif;
font-family: Tahoma, Geneva, Kalimati, sans-serif;
font-family: Verdana, "DejaVu Sans", "Bitstream Vera Sans", Geneva, sans-serif;
font-family: Impact, "Arial Black", sans-serif;

/* Polices à chasse fixe (monospace) */
font-family: Courier, "Courier New", FreeMono, "Liberation Mono", monospace;
font-family: Monaco, "DejaVu Sans Mono", "Lucida Console", "Andale Mono", monospace;</pre>
</div>
<p></code></p>
<p>Enfin vous pouvez retrouver un tableau très bien fait chez Dustin sur <a href="http://dustinbrewer.com/fonts-on-the-web-and-a-list-of-web-safe-fonts/">« Web safe and common fonts »</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/05/12/quelles-polices-de-caracteres-utilisees-sur-le-web-web-design/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tester votre site dans Opera Mini [Web Design]</title>
		<link>https://blog.kodono.info/wordpress/2009/05/05/tester-votre-site-dans-opera-mini-web-design/</link>
					<comments>https://blog.kodono.info/wordpress/2009/05/05/tester-votre-site-dans-opera-mini-web-design/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Tue, 05 May 2009 11:25:00 +0000</pubDate>
				<category><![CDATA[Navigateur]]></category>
		<category><![CDATA[Niveau expert]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[opera mini]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=120</guid>

					<description><![CDATA[[niveau: expert] Je vous ai déjà expliqué comment tester votre site sur IE6, IE7 et IE8, et maintenant je vous propose un émulateur pour voir le rendu de votre site sur Opera Mini. Pour cela il suffit d&#8217;aller sur http://www.opera.com/mini/demo/ qui offre une applet Java pour tester la version mobile du navigateur. A noter que [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau: expert]</p>
<p>Je vous ai déjà expliqué comment <a href="http://blog.kodono.info/wordpress/2009/04/20/tester-un-site-sous-ie6-ie7-et-ie8-web-design/">tester votre site sur IE6, IE7 et IE8</a>, et maintenant je vous propose un émulateur pour voir le rendu de votre site sur Opera Mini. Pour cela il suffit d&#8217;aller sur <a href="http://www.opera.com/mini/demo/">http://www.opera.com/mini/demo/</a> qui offre une applet Java pour tester la version mobile du navigateur.</p>
<p>A noter que je n&#8217;ai réussi à voir l&#8217;émulateur qu&#8217;avec <a href="http://www.opera.com/">le navigateur Opera</a>&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/05/05/tester-votre-site-dans-opera-mini-web-design/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Adapter la taille des polices de caractères selon les navigateurs [Web Design]</title>
		<link>https://blog.kodono.info/wordpress/2009/05/03/adapter-la-taille-des-polices-de-caracteres-selon-les-navigateurs-web-design/</link>
					<comments>https://blog.kodono.info/wordpress/2009/05/03/adapter-la-taille-des-polices-de-caracteres-selon-les-navigateurs-web-design/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sun, 03 May 2009 10:43:01 +0000</pubDate>
				<category><![CDATA[Niveau expert]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[css]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=103</guid>

					<description><![CDATA[[niveau: expert] OpenWeb propose un excellent article nommé « Compatibilité multi-navigateurs des polices de caractères » où ils y expliquent les unités et les valeurs à utiliser pour dimensionner la taille des caractères de façon homogène sur le plus grand nombre possible de navigateurs Web. Pour résumer, il est conseillé de ne pas utiliser une [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau: expert]</p>
<p>OpenWeb propose un excellent article nommé <a href="http://openweb.eu.org/articles/compatibilite_taille_polices/">« Compatibilité multi-navigateurs des polices de caractères »</a> où ils y expliquent les unités et les valeurs à utiliser pour dimensionner la taille des caractères de façon homogène sur le plus grand nombre possible de navigateurs Web.</p>
<p>Pour résumer, il est conseillé de ne pas utiliser une unité absolue (comme le &#8216;px&#8217;, le &#8216;pt&#8217;, le &#8216;cm&#8217;, etc). <strong>Evitez</strong> donc de noter dans votre style CSS quelque chose comme:</p>
<div class="code">
<pre class="css">body { font-size: 15px; } /* défini la taille par défaut de tout le texte */</code></div>
<p>A cela, <strong>préférez</strong> des unités relatives, et en l'occurrence l'utilisation de 'em' et de '%'.<br />
Il suffit de définir la taille du texte par défaut en '%' au niveau du body, et d'utiliser 'em' au niveau du reste de vos conteneurs.</p>
<p>Mais comment savoir l'équivalent entre le % et le 'px' ? Pour cela <a href="http://openweb.eu.org/articles/compatibilite_taille_polices/">OpenWeb</a> nous propose un tableau d'équivalence :</p>
<table id="valeurs">
<thead>
<tr>
<th>Valeurs en %</th>
<th>Valeurs équivalentes en 'px'</th>
</tr>
</thead>
<tbody>
<tr>
<td>57</td>
<td>9</td>
</tr>
<tr>
<td>65</td>
<td>10</td>
</tr>
<tr>
<td>71</td>
<td>11</td>
</tr>
<tr>
<td>77</td>
<td>12</td>
</tr>
<tr>
<td>82</td>
<td>13</td>
</tr>
<tr>
<td>88</td>
<td>14</td>
</tr>
<tr>
<td>96</td>
<td>15</td>
</tr>
<tr>
<td>103</td>
<td>16</td>
</tr>
<tr>
<td>109</td>
<td>17</td>
</tr>
<tr>
<td>115</td>
<td>18</td>
</tr>
<tr>
<td>121</td>
<td>19</td>
</tr>
</tbody>
</table>
<style type="text/css">
#valeurs, #valeurs td, #valeurs th { border: 1px solid black; border-collapse:collapse; text-align: center; }
#valeurs th { background-color:lightgray; padding:5px; }
</style>
<p>Ainsi, notre CSS donnera :</p>
<div class="code">
<pre class="css">body { font-size: 96%; } /* équivaut à 15px */</code></div>
<p>Grâce à cette méthode, votre texte s'adaptera très bien quelque soit le navigateur et la taille de l'écran de vos lecteurs.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/05/03/adapter-la-taille-des-polices-de-caracteres-selon-les-navigateurs-web-design/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Comment réaliser un bon formulaire HTML [à bookmarker]</title>
		<link>https://blog.kodono.info/wordpress/2009/04/27/comment-realiser-un-bon-formulaire-html-a-bookmarker/</link>
					<comments>https://blog.kodono.info/wordpress/2009/04/27/comment-realiser-un-bon-formulaire-html-a-bookmarker/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Mon, 27 Apr 2009 12:38:45 +0000</pubDate>
				<category><![CDATA[À bookmarker]]></category>
		<category><![CDATA[Niveau expert]]></category>
		<category><![CDATA[Web Design]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=91</guid>

					<description><![CDATA[[niveau: expert] Je vous invite à lire ce billet consacré à &#8220;comment réaliser un bon formulaire HTML&#8221; qui donne de vrais bons conseils sur cet exercice plus compliqué qu&#8217;il n&#8217;y parait. (via Alsacréations)]]></description>
										<content:encoded><![CDATA[<p>[niveau: expert]</p>
<p>Je vous invite à lire <a href="http://bbxdesign.com/2009/04/21/comment-realiser-un-bon-formulaire-html/">ce billet consacré à &#8220;comment réaliser un bon formulaire HTML&#8221;</a> qui donne de vrais bons conseils sur cet exercice plus compliqué qu&#8217;il n&#8217;y parait.</p>
<p>(via <a href="http://www.alsacreations.com/actu/lire/705-realiser-bons-formulaires-html.html">Alsacréations</a>)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/04/27/comment-realiser-un-bon-formulaire-html-a-bookmarker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tester un site sous IE6, IE7 et IE8 [Web Design]</title>
		<link>https://blog.kodono.info/wordpress/2009/04/20/tester-un-site-sous-ie6-ie7-et-ie8-web-design/</link>
					<comments>https://blog.kodono.info/wordpress/2009/04/20/tester-un-site-sous-ie6-ie7-et-ie8-web-design/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Mon, 20 Apr 2009 05:30:55 +0000</pubDate>
				<category><![CDATA[Application]]></category>
		<category><![CDATA[Navigateur]]></category>
		<category><![CDATA[Niveau expert]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[IE]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=67</guid>

					<description><![CDATA[[niveau: intermédiaire-expert] Quand on crée un site Internet, il faut toujours s&#8217;assurer que le rendu est correct. L&#8217;exercice devient complexe lorsque l&#8217;on souhaite que tout fonctionne pour les différentes versions d&#8217;Internet Explorer. Vous n&#8217;êtes pas sans censés savoir que, en particulier IE6, les Internet Explorer sont une catastrophe et qu&#8217;il faut utiliser des astuces pour [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau: intermédiaire-expert]</p>
<p>Quand on crée un site Internet, il faut toujours s&#8217;assurer que le rendu est correct. L&#8217;exercice devient complexe lorsque l&#8217;on souhaite que tout fonctionne pour les différentes versions d&#8217;Internet Explorer. Vous n&#8217;êtes pas sans censés savoir que, en particulier IE6, les Internet Explorer sont une catastrophe et qu&#8217;il faut utiliser des astuces pour rendre ses sites web d&#8217;aussi bonne facture sur les autres navigateurs que sur les IE!</p>
<p>Comme il n&#8217;est pas possible d&#8217;installer plusieurs IE sur une même machine (ou alors en faisant <a href="http://tredosoft.com/Multiple_IE">preuves d&#8217;astuces plus ou moins réussies</a>), il existe une solution beaucoup plus simple : installer des machines virtuelles faites exprès par Microsoft et qui embarquent différentes versions d&#8217;IE !</p>
<p>Pour cela, il suffit d&#8217;installer <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=fr&#038;FamilyID=b07c9ef0-265a-4237-ae3b-25bc8937d40f">Virtual PC</a> (gratuit). Ensuite, il faut se rendre sur <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&#038;displaylang=en">cette page dédiée</a> où on vous propose :<br />
&#8211; Windows XP SP3 avec IE6<br />
&#8211; Windows XP SP3 avec IE7<br />
&#8211; Windows XP SP3 avec IE8<br />
&#8211; Windows Vista avec IE7</p>
<p>Vous remarquez que ces images de Windows ont une durée de vie. Une fois la date expirée, vous devrez retourner sur le site pour télécharger une nouvelle image.</p>
<p>Pour installer une machine virtuelle, c&#8217;est rapide et simple. Lancez le .exe de l&#8217;image Windows téléchargée, et choisissez où vous désirez extraire votre disque dur virtuel. Puis lancez Virtual PC. Une console apparait alors dans laquelle vous cliquez sur &#8220;Nouveau&#8221;.<br />
Un assistant s&#8217;ouvre. Sélectionnez la première option (&#8220;Créer un ordinateur virtuel&#8221;). Donnez un nom à l&#8217;ordinateur (par exemple &#8220;IE6 XPSP3&#8221;). Ensuite choisissez une configuration par défaut (ici &#8220;Windows XP&#8221;). A l&#8217;étape suivante vous pouvez modifier la quantité de mémoire (pour XP je mets 256Mo au lieu des 128Mo proposés).<br />
Enfin, à l&#8217;étape suivante, utilisez un disque existant, et en l&#8217;occurrence celui que vous avez extrait du fichier téléchargé précédemment (dans mon exemple &#8220;XP SP3 with IE6 2008-Dec.vhd&#8221;).<br />
Et voilà !</p>
<p>La console de Virtual PC vous offre alors Windows XP avec IE6. Cliquez sur Démarrer, et Windows va se lancer dans une nouvelle fenêtre. Vous n&#8217;aurez plus qu&#8217;à ouvrir IE6 et à vous balader sur votre site web pour considérer votre rendu.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/04/20/tester-un-site-sous-ie6-ie7-et-ie8-web-design/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
	</channel>
</rss>
