<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Famille de geeks</title>
	
	<link>http://blog.jesuislibre.org</link>
	<description>Une famille complètement geek</description>
	<lastBuildDate>Thu, 17 Jun 2010 17:14:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/FamilleDeGeek" /><feedburner:info uri="familledegeek" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>FamilleDeGeek</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Dessiner une BD avec Inkscape d’après une histoire inventée par Lucas, 7 ans</title>
		<link>http://feedproxy.google.com/~r/FamilleDeGeek/~3/kCPJqBvCeOg/</link>
		<comments>http://blog.jesuislibre.org/2010/06/dessiner-une-bd-avec-inkscape-dapres-une-histoire-inventee-par-lucas-7-ans/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 18:58:07 +0000</pubDate>
		<dc:creator>b_adele</dc:creator>
				<category><![CDATA[Graphisme]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[inkscape]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Tutoriel]]></category>

		<guid isPermaLink="false">http://blog.jesuislibre.org/?p=646</guid>
		<description><![CDATA[Je vais expliquer comment mettre en images une histoire inventée par mon fils Lucas, 7 ans. Pour cela nous aurons juste besoin d&#8217;Inkscape et d&#8217;une bibliothèque de cliparts. 1. L&#8217;histoire Voici l&#8217;histoire écrite par Lucas ( désolé pour les fautes, texte original !! ) C&#8217;est l&#8217;istoire d&#8217;un enfan qui sapelai cédrique il vivai seul dans [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/b_adele/4696729825/sizes/l/"><img alt="" src="http://farm5.static.flickr.com/4028/4696729825_9b9970f699.jpg" title="Cédric et l&#039;extraterrestre" class="alignnone" width="500" height="191" /></a></p>
<p>Je vais expliquer comment mettre en images une histoire inventée par mon fils Lucas, 7 ans.</p>
<p>Pour cela nous aurons juste besoin d&#8217;Inkscape et d&#8217;une bibliothèque de cliparts.</p>
<p><strong>1. L&#8217;histoire</strong><br />
Voici l&#8217;histoire écrite par Lucas ( désolé pour les fautes, texte original !! )</p>
<blockquote><p>C&#8217;est l&#8217;istoire d&#8217;un enfan qui sapelai cédrique il vivai seul dans une maison au bord de la mer et un jour il à vu une fusés il avai un extratéèsx mais un jour l&#8217;extratérx et tais mors et un jour il à ésséier de réparé la fusés et il la utilisé pour alés sur la lune</p></blockquote>
<p><strong>2. Recherche des clip-arts</strong><br />
Pour toutes les personnes, qui comme moi, n&#8217;ont pas de talent particulier pour les arts, nous allons faire appel à nos souvenirs d&#8217;école,et plus particulièrement au collage. Pour cela nous allons utiliser des cliparts disponibles généralement sous la licence Creative Comon (Domaine public).<br />
<img src="http://blog.jesuislibre.org/wp-content/uploads/2010/06/import_clipart.png" alt="" title="import des cliparts depuis openclipart" width="500" height="59" class="alignnone size-full wp-image-673" /><br />
<em>Les cliparts dont nous aurons besoin pour notre exemple</em></p>
<p><strong>3. Préparatif des zones</strong><br />
On définit les zones sur lesquelles nos cliparts seront déposés.</p>
<ul>
<ol>1. Ajout du fond noir</ol>
<ol>2. Ajout des rectangles gris pour créer une zone. Ces rectangles seront utilisés par la suite pour faire des opérations booléennes (différence)</ol>
</ul>
<p><img alt="" src="http://farm5.static.flickr.com/4035/4697362772_5e5d50c52f.jpg" title="Etape 1" class="alignnone" width="500" height="191" /><br />
<em>Découpage des zones</em></p>
<p><strong>4. Ajout des cliparts et des bulles</strong><br />
On ajoute les cliparts dans chaque zone afin d&#8217;agrémenter l&#8217;histoire.<br />
<a href="http://blog.jesuislibre.org/wp-content/uploads/2010/06/bd_lucas-2.png"><img src="http://blog.jesuislibre.org/wp-content/uploads/2010/06/bd_lucas-2.png" alt="" title="Ajout des bulles et cliparts" width="500" height="191" class="alignnone size-full wp-image-682" /></a><br />
<em>L&#8217;histoire prend forme</em></p>
<p><strong>5. Finalisation</strong><br />
Il ne nous manque plus qu&#8217;à découper les rectangles gris pour pouvoir apercevoir le dégradé.</p>
<p><a href="http://blog.jesuislibre.org/wp-content/uploads/2010/06/bd_lucas-2.1.png"><img src="http://blog.jesuislibre.org/wp-content/uploads/2010/06/bd_lucas-2.1.png" alt="" title="Dégradé de fond" width="500" height="132" class="alignnone size-full wp-image-684" /></a><br />
<em>Le dégradé</em></p>
<p><a href="http://www.flickr.com/photos/b_adele/4696729825/sizes/l/"><img alt="" src="http://farm5.static.flickr.com/4028/4696729825_9b9970f699.jpg" title="Cédric et l&#039;extraterrestre" class="alignnone" width="500" height="191" /></a><br />
<em>Résultat final</em></p>
<p><strong>Edit: </strong>Suite à vos remarques, voici les détails des licences, cliquez sur l&#8217;image pour en savoir plus, toutes les images viennent du site <a href="http://www.openclipart.org">http://www.openclipart.org</a></p>
<p><a href="http://www.openclipart.org/detail/28806"><img alt="" src="http://www.openclipart.org/image/90px/svg_to_png/purzen_A_cartoon_moon_rocket.png" class="alignnone" width="51" height="90" /></a><a href="http://www.openclipart.org/detail/20299"><img alt="" src="http://www.openclipart.org/image/90px/svg_to_png/rg1024_Moon_in_comic_style.png" class="alignnone" width="90" height="90" /></a><a href="http://www.openclipart.org/detail/5418"><img alt="" src="http://www.openclipart.org/image/90px/svg_to_png/Chrisdesign_Sea_scene_with_boat.png" class="alignnone" width="88" height="90" /></a><a href="http://www.openclipart.org/detail/17264"><img alt="" src="http://www.openclipart.org/image/90px/svg_to_png/El_Sato_Manga_kid_head.png" class="alignnone" width="80" height="90" /></a><a href="http://www.openclipart.org/detail/3482"><img alt="" src="http://www.openclipart.org/image/90px/svg_to_png/SRD_comic_clouds_4.png" class="alignnone" width="90" height="82" /></a><a href="http://www.openclipart.org/detail/39361"><img alt="" src="http://www.openclipart.org/image/90px/svg_to_png/alien08.png" class="alignnone" width="90" height="58" /></a><a href="http://www.openclipart.org/detail/21988"><img alt="" src="http://www.openclipart.org/image/90px/svg_to_png/nicubunu_Toy_rocket.png" class="alignnone" width="90" height="90" /></a><a href="http://www.openclipart.org/detail/17436"><img alt="" src="http://www.openclipart.org/image/90px/svg_to_png/jonata_Mechanic.png" class="alignnone" width="77" height="90" /></a></p>
<img src="http://feeds.feedburner.com/~r/FamilleDeGeek/~4/kCPJqBvCeOg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesuislibre.org/2010/06/dessiner-une-bd-avec-inkscape-dapres-une-histoire-inventee-par-lucas-7-ans/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://blog.jesuislibre.org/2010/06/dessiner-une-bd-avec-inkscape-dapres-une-histoire-inventee-par-lucas-7-ans/</feedburner:origLink></item>
		<item>
		<title>Comment créer un cercle chromatique en 30 secondes avec Inkscape</title>
		<link>http://feedproxy.google.com/~r/FamilleDeGeek/~3/PjvJXsPmO7Q/</link>
		<comments>http://blog.jesuislibre.org/2010/05/comment-creer-un-cercle-chromatique-en-30-secondes-avec-inkscape/#comments</comments>
		<pubDate>Sun, 16 May 2010 18:13:24 +0000</pubDate>
		<dc:creator>b_adele</dc:creator>
				<category><![CDATA[Graphisme]]></category>
		<category><![CDATA[cercle]]></category>
		<category><![CDATA[chromatique]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[inkscape]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[wheel]]></category>

		<guid isPermaLink="false">http://blog.jesuislibre.org/?p=604</guid>
		<description><![CDATA[Introduction Pour le besoin d&#8217;un de mes nouveaux projets web de gestion de mot de passe (j&#8217;aurais l&#8217;occasion d&#8217;écrire un article plus tard), j&#8217;ai été confronté au choix des couleurs. Pour cela je me suis servi d&#8217;Inkscape pour fabriquer un cercle chromatique que je peux ensuite affiner à mon aise. Qu&#8217;est-ce un cercle chromatique ? [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://farm4.static.flickr.com/3013/4608319515_a8168a1804_o.png"><img alt="Cercle chromatique" src="http://farm4.static.flickr.com/3013/4608319515_a8168a1804_o.png" title="Cercle chromatique" class="alignnone" width="500" height="150" /></a></p>
<p><strong>Introduction</strong><br />
Pour le besoin d&#8217;un de mes nouveaux projets web de gestion de mot de passe (j&#8217;aurais l&#8217;occasion d&#8217;écrire un article plus tard), j&#8217;ai été confronté au choix des couleurs. Pour cela je me suis servi d&#8217;Inkscape pour fabriquer un cercle chromatique que je peux ensuite affiner à mon aise.</p>
<p><strong>Qu&#8217;est-ce un cercle chromatique ?</strong><br />
<a href="http://fr.wikipedia.org/wiki/Cercle_chromatique">Un cercle chromatique</a> est une représentation circulaire des couleurs conventionnelles. Celles-ci sont ordonnées comme au sein d&#8217;un arc-en-ciel, la fermeture du cercle s&#8217;effectuant par une transition du rouge au violet via le magenta.</p>
<p>Un cercle chromatique peut présenter les couleurs sous forme discrètes (parts du cercle) ou en continu. Il arrive qu&#8217;on utilise tout le disque pour présenter les variantes soit en intensité, soit en saturation des couleurs. <em>[Source: wikipedia]</em></p>
<p><strong>Les éléments </strong><br />
Nous allons donc découper le cercle en 12 parts avec 8 variantes de luminosité. Dans Inkscape, nous aurons besoin des unités suivantes: pourcentage(100), Degré(360), gestion des couleurs(255), puis nous allons calculer les intervalles nécessaires au calcul des intervalles de rotation et de changements de couleur.<br />
360/12 = 30<br />
100 / 8 = 12.5<br />
100 /12 = 8.3</p>
<p><strong>Conception</strong></p>
<p>L&#8217;astuce pour créer le cercle chromatique est d&#8217;utiliser la fonction clone et pavage d&#8217;inkscape. </p>
<ul>
<ol>Créer un cercle de la taille de votre choix, modifier son barycentre(centre de rotation) et lancer la fonction <strong>clone et pavage</strong>
</ol>
<ol>
<a href="http://blog.jesuislibre.org/wp-content/uploads/2010/05/inkscape01.png"><img src="http://blog.jesuislibre.org/wp-content/uploads/2010/05/inkscape01.png" alt="" title="inkscape01" width="384" height="286" class="alignnone size-full wp-image-620" /></a><br />
[Translation] Indiquer 8 lignes sur 12 colonnes et les valeurs des translations
</ol>
<ol>
<a href="http://blog.jesuislibre.org/wp-content/uploads/2010/05/inkscape02.png"><img src="http://blog.jesuislibre.org/wp-content/uploads/2010/05/inkscape02.png" alt="" title="Dimensions Inkscape" width="374" height="181" class="alignnone size-full wp-image-626" /></a><br />
[Dimension] Réglage des échelles
</ol>
<ol><a href="http://blog.jesuislibre.org/wp-content/uploads/2010/05/inkscape03.png"><img src="http://blog.jesuislibre.org/wp-content/uploads/2010/05/inkscape03.png" alt="" title="Rotation Inkscape" width="382" height="113" class="alignnone size-full wp-image-627" /></a><br />
[Rotation] Angle de rotation
</ol>
<ol>
<a href="http://blog.jesuislibre.org/wp-content/uploads/2010/05/inkscape04.png"><img src="http://blog.jesuislibre.org/wp-content/uploads/2010/05/inkscape04.png" alt="" title="Couleur Inkscape" width="510" height="361" class="alignnone size-full wp-image-628" /></a><br />
[Couleur] Couleur de départ et intervalles
</ol>
</ul>
<p><p><a href="http://blog.jesuislibre.org/2010/05/comment-creer-un-cercle-chromatique-en-30-secondes-avec-inkscape/"><em>Cliquer ici pour voir la vidéo.</em></a></p><br />
<a href="http://www.youtube.com/watch?v=TY0V3N4p724">Voir le résultat en video</a></p>
<p>A noter: il existe également une application gnome nommée <a href="http://home.gna.org/colorscheme/">agave</a>, ainsi qu&#8217;un plugin pour Gimp appelé <a href="http://registry.gimp.org/node/15833">Pallete Generator</a> qui permettent la gestion des couleurs.</p>
<img src="http://feeds.feedburner.com/~r/FamilleDeGeek/~4/PjvJXsPmO7Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesuislibre.org/2010/05/comment-creer-un-cercle-chromatique-en-30-secondes-avec-inkscape/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.jesuislibre.org/2010/05/comment-creer-un-cercle-chromatique-en-30-secondes-avec-inkscape/</feedburner:origLink></item>
		<item>
		<title>Support de l’Android Market depuis l’emulateur du SDK de Google</title>
		<link>http://feedproxy.google.com/~r/FamilleDeGeek/~3/Km3dAGnhUmY/</link>
		<comments>http://blog.jesuislibre.org/2009/10/support-de-landroid-market-depuis-lemulateur-du-sdk-de-google/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 20:00:39 +0000</pubDate>
		<dc:creator>b_adele</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Telephone mobile]]></category>

		<guid isPermaLink="false">http://blog.jesuislibre.org/?p=500</guid>
		<description><![CDATA[Pour ceux qui n&#8217;ont pas encore la chance d&#8217;avoir un téléphone Android, ils peuvent tester le système d&#8217;exploitation Android grâce au SDK de Google, puisque celui ci est fourni avec un émulateur de téléphone. Hélas, l&#8217;émulateur fourni avec le SDK ne contient pas les applications propriétaires de Google comme par exemple GMail,GTalk et bien entendu [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.jesuislibre.org/wp-content/uploads/2009/10/android-0.png" alt="Etapes Android" title="Etapes Android" width="600" height="180" class="alignnone size-full wp-image-538" /></p>
<p>Pour ceux qui n&#8217;ont pas encore la chance d&#8217;avoir un téléphone Android, ils peuvent tester le système d&#8217;exploitation Android grâce au SDK de Google, puisque celui ci est fourni avec un émulateur de téléphone.</p>
<p>Hélas, l&#8217;émulateur fourni avec le SDK ne contient pas les applications propriétaires de Google comme par exemple GMail,GTalk et bien entendu l&#8217;<a href="www.android.com/market/">Android Market</a>.</p>
<p>De ce fait il perd une grande partie de son intérêt, et il n&#8217;est même pas possible de tester les applications de l&#8217;<a href="www.android.com/market/">Android Market</a>. </p>
<p><strong><em>Une petite astuce s&#8217;impose:</em></strong><br />
<br/></p>
<h2>Installation</h2>
<p>Installer le SDK de google en suivant les instructions de ce billet <a href="http://blog.jesuislibre.org/2009/10/installation-du-sdk-android-sous-linux/">Installer le SDK Google</a></p>
<p>Télécharger la version de développement du HTC Dream <strong>signed-dream_devphone_userdebug-img-150275.zip</strong> depuis l&#8217;adresse suivante <a href="http://developer.htc.com/adp.html">http://developer.htc.com/adp.html</a>. Déposer le fichier dans <strong>/tmp</strong></p>
<p>L&#8217;astuce est de copier les ROMs provenant du kit de développement du HTC Dream.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">unzip</span> <span style="color: #660033;">-x</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>signed-dream_devphone_userdebug-img-<span style="color: #000000;">150275</span>.zip <span style="color: #660033;">-d</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>android<span style="color: #000000; font-weight: bold;">/</span><br />
<span style="color: #c20cb9; font-weight: bold;">cp</span> system.img <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>android-sdk-linux_x86-<span style="color: #000000;">1.5</span>_r3<span style="color: #000000; font-weight: bold;">/</span>add-ons<span style="color: #000000; font-weight: bold;">/</span>google_apis-<span style="color: #000000;">3</span><span style="color: #000000; font-weight: bold;">/</span>images<span style="color: #000000; font-weight: bold;">/</span><br />
<span style="color: #c20cb9; font-weight: bold;">cp</span> userdata.img <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>android-sdk-linux_x86-<span style="color: #000000;">1.5</span>_r3<span style="color: #000000; font-weight: bold;">/</span>add-ons<span style="color: #000000; font-weight: bold;">/</span>google_apis-<span style="color: #000000;">3</span><span style="color: #000000; font-weight: bold;">/</span>images<span style="color: #000000; font-weight: bold;">/</span><br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> a+r <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>android-sdk-linux_x86-<span style="color: #000000;">1.5</span>_r3<span style="color: #000000; font-weight: bold;">/</span>add-ons<span style="color: #000000; font-weight: bold;">/</span>google_apis-<span style="color: #000000;">3</span><span style="color: #000000; font-weight: bold;">/</span>images<span style="color: #000000; font-weight: bold;">/*</span>.img</div></div>
<p>Préparer un périphérique virtuel</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">android create avd <span style="color: #660033;">-t</span> <span style="color: #000000;">3</span> <span style="color: #660033;">-n</span> virtual_phone</div></div>
<p>Lancer l&#8217;émulateur</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">emulator <span style="color: #660033;">-avd</span> virtual_phone</div></div>
<ul>
<li><strong>Etape 1</strong> cliquer sur l&#8217;écran, pour commencer l&#8217;inscription</li>
<li><strong>Etape 2</strong> passer l&#8217;étape du tutoriel</li>
<li><strong>Etape 3,4</strong> Créer ou utiliser un compte google</li>
<li><strong>Etape 5</strong> Tester vos applications sur le market.</li>
</ul>
<p><img src="http://blog.jesuislibre.org/wp-content/uploads/2009/10/android-1.png" alt="Android Market" title="Android Market" width="600" height="382" class="alignnone size-full wp-image-540" /></p>
<img src="http://feeds.feedburner.com/~r/FamilleDeGeek/~4/Km3dAGnhUmY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesuislibre.org/2009/10/support-de-landroid-market-depuis-lemulateur-du-sdk-de-google/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.jesuislibre.org/2009/10/support-de-landroid-market-depuis-lemulateur-du-sdk-de-google/</feedburner:origLink></item>
		<item>
		<title>Installation du SDK Android sous linux</title>
		<link>http://feedproxy.google.com/~r/FamilleDeGeek/~3/YgvBehVLPRE/</link>
		<comments>http://blog.jesuislibre.org/2009/10/installation-du-sdk-android-sous-linux/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 19:41:27 +0000</pubDate>
		<dc:creator>b_adele</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Telephone mobile]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.jesuislibre.org/?p=501</guid>
		<description><![CDATA[Ce mini article va expliquer comment installer et configurer le SDK Android sous Linux. Cet article est cité par : Support de l&#8217;android market depuis l&#8217;émulateur du SDK de Google Installation Télécharger le SDK 1.5 et décompresser dans le répertoire /usr/local, voir détails ci-dessous. cd /usr/local sudo unzip android-sdk-linux_x86-1.5_r3.zip sudo chown -R :users android-sdk-linux_x86-1.5_r3 cd [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.jesuislibre.org/wp-content/uploads/2009/10/bg_logo.png" alt="Logo Android" title="Logo Android" width="180" height="50" class="alignnone size-full wp-image-515" /></p>
<p>Ce mini article va expliquer comment installer et configurer le SDK Android sous Linux.</p>
<p>Cet article est cité par : </p>
<ul>
<ol><a href="http://blog.jesuislibre.org/2009/10/support-de-landroid-market-depuis-lemulateur-du-sdk-de-google/">Support de l&#8217;android market depuis l&#8217;émulateur du SDK de Google</a></ol>
</ul>
<h2>Installation</h2>
<p>Télécharger le <a href="http://developer.android.com/sdk/download.html?v=android-sdk-linux_x86-1.5_r3.zip">SDK 1.5</a> et décompresser dans le répertoire <strong>/usr/local</strong>, voir détails ci-dessous.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span><br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">unzip</span> android-sdk-linux_x86-<span style="color: #000000;">1.5</span>_r3.zip<br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> :users android-sdk-linux_x86-<span style="color: #000000;">1.5</span>_r3<br />
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>android-sdk-linux_x86-<span style="color: #000000;">1.5</span>_r3<span style="color: #000000; font-weight: bold;">/</span>tools</div></div>
<p><strong>Déclaration du driver sous ubuntu 9.04</strong><br />
Avant l&#8217;installation du driver il faut activer le mode debug  de votre téléphone<br />
<em>Bouton menu -> Paramètres -> Applications -> Développement cocher Débogage USB</em></p>
<p>Création du fichier /etc/udev/rules.d/51-android.rules et ajout du contenu suivant</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #007800;">SUBSYSTEM</span>==<span style="color: #ff0000;">&quot;usb&quot;</span>, SYSFS<span style="color: #7a0874; font-weight: bold;">&#123;</span>idVendor<span style="color: #7a0874; font-weight: bold;">&#125;</span>==<span style="color: #ff0000;">&quot;0bb4&quot;</span>, <span style="color: #007800;">MODE</span>=<span style="color: #ff0000;">&quot;0666&quot;</span></div></div>
<p>Changer les droits d&#8217;accès</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">chmod</span> a+rx <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>udev<span style="color: #000000; font-weight: bold;">/</span>rules.d<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">51</span>-android.rules</div></div>
<h2>Vérification</h2>
<p>connecter le téléphone au PC (câble USB), et vérifier si votre téléphone est reconnu.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> .<span style="color: #000000; font-weight: bold;">/</span>adb devices<br />
<br />
List of devices attached <br />
emulator-<span style="color: #000000;">5554</span> &nbsp; device</div></div>
<img src="http://feeds.feedburner.com/~r/FamilleDeGeek/~4/YgvBehVLPRE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesuislibre.org/2009/10/installation-du-sdk-android-sous-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.jesuislibre.org/2009/10/installation-du-sdk-android-sous-linux/</feedburner:origLink></item>
		<item>
		<title>Hadopi II, la loi qui empêchera des innocents de surfer</title>
		<link>http://feedproxy.google.com/~r/FamilleDeGeek/~3/Xzp73Vs7utc/</link>
		<comments>http://blog.jesuislibre.org/2009/09/hadopi-ii-la-loi-qui-empechera-des-innocents-de-surfer/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 06:05:03 +0000</pubDate>
		<dc:creator>b_adele</dc:creator>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Planet-Libre]]></category>

		<guid isPermaLink="false">http://blog.jesuislibre.org/?p=321</guid>
		<description><![CDATA[Considérons que le risque zéro n&#8217;existe pas, des innocents pourraient éventuellement être accusés à tort avec la loi Hadopi. En effet, on aura beau protéger sa box en suivant les recommandations suivantes , ce ne sera pas assez suffisant pour éviter tous risques d&#8217;accusations. Je vais tenter de démontrer une attaque qui pourrait se produire [...]]]></description>
			<content:encoded><![CDATA[<p>Considérons que le risque zéro n&#8217;existe pas, des innocents pourraient éventuellement être accusés à tort avec la loi Hadopi. En effet, on aura beau protéger sa box en suivant <a href="http://free.korben.info/index.php/Wifi_et_Box">les recommandations suivantes</a> , ce ne sera pas assez suffisant pour éviter tous risques d&#8217;accusations.</p>
<p>Je vais tenter de démontrer une attaque qui pourrait se produire sur une box correctement sécurisée.</p>
<p>Contrairement à <a title="La loi Hadopi mise à mal par freewifi ?" href="http://blog.jesuislibre.org/2009/06/la-loi-hadopi-mise-a-mal-par-freewifi/">l&#8217;article précédent</a> l&#8217;attaque ne va pas consister à se faire passer pour un hotspot FreeWifi, mais pour un utilisateur authentifié FreeWifi.</p>
<p><strong>Petit rappel de fonctionnement des hotspots FreeWifi</strong></p>
<p>Chaque freebox V5 de chaque abonné se comporte également comme un hotspot FreeWifi. Si l&#8217;abonné a activé son hotspot, il pourra par la suite profiter de l&#8217;ensemble des hotspots mis à disposition par les abonnés  Free( l&#8217;accès est protégé par un code).</p>
<p>Lors du premier accès à un des hotspot freewifi, une adresse IP vous sera allouée automatiquement via DHCP et vous serez redirigé vers le portail captif sécurisé de freewifi. L&#8217;authentification se fait donc de façon sécurisée (HTTPS), ce qui évite à priori de vous faire voler vos identifiants.</p>
<p>Néanmoins une fois l&#8217;étape d&#8217;authentification passée, et durant  toute la durée du surf, les données transitent en clair.</p>
<p>Par conséquent, malgré l&#8217;impression de sécurité durant la phase d&#8217;authentification, l&#8217;utilisateur n&#8217;est en aucun cas protégé.</p>
<p><strong>Note:</strong> Il semblerait qu&#8217;à chaque appel du serveur DHCP, l&#8217;utilisateur soit dirigé de nouveau sur le portail captif (perte de session).</p>
<h2>L&#8217;usurpation</h2>
<p>L&#8217;usurpation va consister à récupérer l&#8217;adresse mac ainsi que l&#8217;adresse IP du véritable utilisateur qui transite en clair, pour pouvoir ensuite se connecter à sa place.</p>
<p><b>1) Passage de la carte wifi en mode monitor</b></p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">airmon-ng start wlan0</div></div>
<p><b>2) Recherche de l&#8217;adresse mac et l&#8217;ip avec wireshark</b></p>
<ol>
<li>Lancer wireshark</li>
<li>Activer le filtre &laquo;&nbsp;tcp.srcport == 80&#8243;</li>
<li>Capturer les paquets</li>
<li>Rechercher ensuite l&#8217;adresse IP (1) et de l&#8217;adresse mac (2) de la victime</li>
</ol>
<p><img src="http://blog.jesuislibre.org/wp-content/uploads/2009/07/wireshark-freewifi.jpg" alt="wireshark-freewifi" title="wireshark-freewifi" width="1024" height="357" class="alignnone size-full wp-image-352" /></p>
<p><b>3) Changement de l&#8217;adresse mac de votre carte wifi</b></p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">airmon-ng stop mon0<br />
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span> wlan0 down<br />
macchanger <span style="color: #660033;">-m</span> XX:XX:XX:XX:XX<br />
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span> wlan0 up</div></div>
<p>A chaque appel du serveur DHCP, la page du portail captif et de nouveau réinitialisée ( vos login et password vous seront demandés à nouveau). Pour éviter cela, il faut configurer le réseau en mode statique.<br />
<b>4) Configuration statique</b><br />
Exemple de configuration avec wicd</p>
<ol>
<li>IP: xx.xx.xx.xx</li>
<li>DNS: 212.27.40.241, 212.27.40.242</li>
<li>Mask: 255.255.128.0</li>
<li>Route: 78.251.127.254</li>
</ol>
<p><b>Problèmes rencontrés</b><br />
Il peut arriver d&#8217;avoir des conflits lors du surf, car à un moment donné les 2 cartes réseau (celle de l&#8217;utilisateur et de l&#8217;attaquant) auront les adresses MAC identiques. Je crois que la technique du de-auth devrait faire l&#8217;affaire.</p>
<p><b>Conclusion</b><br />
En clair, même avec peu de  connaissances en  hacking wifi, un attaquant peut utiliser votre connexion Wifi, et surfer en votre nom.</p>
<p>Cette loi pourrait éloigner les débutant désirant s&#8217;abonner à internet, craignant d&#8217;être accusés à tort pour téléchargement illégal et devoir payer l&#8217;amende de 1500Eu.</p>
<img src="http://feeds.feedburner.com/~r/FamilleDeGeek/~4/Xzp73Vs7utc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesuislibre.org/2009/09/hadopi-ii-la-loi-qui-empechera-des-innocents-de-surfer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.jesuislibre.org/2009/09/hadopi-ii-la-loi-qui-empechera-des-innocents-de-surfer/</feedburner:origLink></item>
		<item>
		<title>La loi Hadopi mise à mal par freewifi ?</title>
		<link>http://feedproxy.google.com/~r/FamilleDeGeek/~3/6c9sa5Oc5HA/</link>
		<comments>http://blog.jesuislibre.org/2009/06/la-loi-hadopi-mise-a-mal-par-freewifi/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 12:54:21 +0000</pubDate>
		<dc:creator>b_adele</dc:creator>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Planet-Libre]]></category>

		<guid isPermaLink="false">http://blog.jesuislibre.org/?p=275</guid>
		<description><![CDATA[Pour les quelques personnes qui n&#8217;auraient pas encore entendu parlé de la loi HADOPI. Cette loi est sensée couper les lignes internet des soit-disant pirates. Donc pour prouver votre innocence, il vous sera conseillé de payeracheter un mouchard. Mais n&#8217;ayez aucune crainte car Madame Albanel dit: si vous ne piratez pas, non seulement vous ne [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-306" title="freewifi" src="http://blog.jesuislibre.org/wp-content/uploads/2009/06/freewifi.jpg" alt="freewifi" width="580" height="143" /></p>
<p>Pour les quelques personnes qui n&#8217;auraient pas encore entendu parlé de la loi HADOPI. Cette loi est sensée couper les lignes internet des soit-disant pirates. Donc pour prouver votre innocence, il vous sera conseillé de <del datetime="2009-05-31T10:33:52+00:00">payer</del>acheter un mouchard.</p>
<p>Mais n&#8217;ayez aucune crainte car Madame Albanel dit:</p>
<blockquote><p>si vous ne piratez pas, non seulement vous ne risquez pas de suspension et vous n&#8217;êtes pas obligés de mettre un logiciel de sécurisation</p></blockquote>
<p>Or, cet argument ne tient pas la route, car même un honnête internaute pourra être accusé de piratage.</p>
<p><strong>Scénario possible</strong> (non détaillé)</p>
<p>Un pirate créait un hotspot freewifi bidon. Ce hotspot aura pour mission de faire croire que c&#8217;est un hotspot officiel. Il pourra éventuellement utiliser la technique du Cross Site Scripting (XSS) + iframe pour afficher la page officielle et y ajouter du code pour récupérer vos identifiants.</p>
<p>Un utilisateur non averti, n&#8217;y verra que du feu !<br />
Une fois les identifiants récupérés, le pirate aura accès à environ 6 millions de hotspots.</p>
<p>Il ne manquera plus qu&#8217;à l&#8217;équipe de Mme Albanel de vous accuser de pirate (désolés vous n&#8217;avez pas acheté de mouchard).</p>
<img src="http://feeds.feedburner.com/~r/FamilleDeGeek/~4/6c9sa5Oc5HA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesuislibre.org/2009/06/la-loi-hadopi-mise-a-mal-par-freewifi/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.jesuislibre.org/2009/06/la-loi-hadopi-mise-a-mal-par-freewifi/</feedburner:origLink></item>
		<item>
		<title>Webmail, faille de sécurité des questions non secrètes !</title>
		<link>http://feedproxy.google.com/~r/FamilleDeGeek/~3/quckX3T0LCQ/</link>
		<comments>http://blog.jesuislibre.org/2009/05/webmail-faille-de-securite-des-questions-non-secretes/#comments</comments>
		<pubDate>Tue, 19 May 2009 22:09:16 +0000</pubDate>
		<dc:creator>b_adele</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://blog.jesuislibre.org/?p=179</guid>
		<description><![CDATA[Les questions secrètes sont de plus en plus utilisées sur des sites webs, celle ci, vous permet de récupérer vos mots de passe. Je voudrais donc faire une petite mise en garde sur l&#8217;utilisation de cette fonctionnalité, car mal utilisée, elle peut rendre accessible vos données sans grande difficulté. Il existe en gros 2 types [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-224" title="question_gmail" src="http://blog.jesuislibre.org/wp-content/uploads/2009/04/question_gmail.jpg" alt="question_gmail" width="480" height="120" /><br />
<strong>Les questions secrètes </strong>sont de plus en plus utilisées sur des sites webs, celle ci, vous permet de récupérer vos mots de passe.</p>
<p>Je voudrais donc faire une petite mise en garde sur l&#8217;utilisation de cette fonctionnalité, car mal utilisée, elle peut rendre accessible vos données sans grande difficulté.</p>
<p>Il existe en gros 2 types d&#8217;attaques</p>
<ol>
<li><strong>Par des personnes inconnues de votre entourage</strong> (<em>Erreur par homonyme ou des personnes mal intentionnées)</em><strong><br />
</strong></p>
<ul>
<li>C&#8217;est déjà arrivé à un collègue de travail, il s&#8217;était trompé d&#8217;adresse émail(homonyme), et donc pas mégarde, il essayait de récupérer le mot de passe d&#8217;un autre compte GMail, la question secrète était &laquo;&nbsp;<strong>De quelle couleur est le Berurier</strong>&laquo;&nbsp;, il a trouvé la bonne réponse sans grande difficulté.<br />
<span style="text-decoration: underline;">Niveau requis</span>: minimum de culture générale<br />
Si vous avez trouvé la réponse, vous auriez vous aussi réussi  à pirater ce compte <img src='http://blog.jesuislibre.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p align="center">
<ul>
<li>Dans le même genre, une autre personne du travail a choisi comme question secrète pour la délivrance d&#8217;un certificat SSL, la question suivante  &laquo;&nbsp;<strong>Quelle est votre couleur Préférée</strong>&nbsp;&raquo;<br />
<span style="text-decoration: underline;">Niveau requis</span>: les bases des couleurs <img src='http://blog.jesuislibre.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Pour ce cas, ça ne sert donc à rien de blinder la porte d&#8217;entrée et de laisser la fenêtre ouverte !</li>
</ul>
</li>
<li><strong>Connue de votre entourage </strong>(<em>Vos amis ou ex-amis</em>)</li>
</ol>
<ul>
<li>Dans les 2 cas,  il suffit que la personne connaisse un minimum sur votre entourage, style la date de naissance de vos parents, pour pouvoir <a href="http://fr.answers.yahoo.com/question/index?qid=20071215142850AAy1L72">tenter d&#8217;accèder</a> à l&#8217;ensemble de votre messagerie.<br />
<blockquote><p><strong>Note:</strong>Pour ma part la réponse à ma question secrète est <strong>pmfaerto75$*098hvjk746ùè#</strong></p></blockquote>
<p>Voir ci dessous des exemples de comptes piratés :</li>
</ul>
<ul>
<li><a href="http://www.journaldunet.com/solutions/securite/actualite/le-compte-yahoo-de-sarah-palin-pirate-avec-facilite.shtml">Le compte de Sarah Palin Piraté</a></li>
<li><a href="http://www.nowhereelse.fr/e-mail-salma-hayek-pirate-hack-19009/">Salma Hayek piraté</a></li>
</ul>
<p/>
<img src="http://feeds.feedburner.com/~r/FamilleDeGeek/~4/quckX3T0LCQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesuislibre.org/2009/05/webmail-faille-de-securite-des-questions-non-secretes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jesuislibre.org/2009/05/webmail-faille-de-securite-des-questions-non-secretes/</feedburner:origLink></item>
		<item>
		<title>Définition d’un Gisc (vue par la population)</title>
		<link>http://feedproxy.google.com/~r/FamilleDeGeek/~3/zsY-dxNj1eE/</link>
		<comments>http://blog.jesuislibre.org/2009/04/definition-dun-gisc-vue-par-la-population/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 12:00:31 +0000</pubDate>
		<dc:creator>b_adele</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Humour]]></category>
		<category><![CDATA[Planet-Libre]]></category>

		<guid isPermaLink="false">http://blog.jesuislibre.org/?p=156</guid>
		<description><![CDATA[La société Intel a interviewé des personnes dans la rue afin de leur demander de définir le mot Geek. Voici un échantillon de réponses Objet Stylo. Ça se mange (Kebab) ou pas , faudrait savoir. Ça s&#8217;écoute. Personne Une personne avec un T-Shirt Apple. Un vieux garçon qui n&#8217;a jamais fait l&#8217;amour. On peut en [...]]]></description>
			<content:encoded><![CDATA[<p>La société Intel a interviewé des personnes dans la rue afin de leur demander de définir le mot <em>Geek</em>.</p>
<p><a href="http://blog.jesuislibre.org/2009/04/definition-dun-gisc-vue-par-la-population/"><em>Cliquer ici pour voir la vidéo.</em></a></p>
<p>Voici un échantillon de réponses</p>
<p><strong>Objet</strong></p>
<ul>
<li>Stylo.</li>
<li>Ça se mange (Kebab) ou pas , faudrait savoir.</li>
<li>Ça s&#8217;écoute.</li>
</ul>
<p><strong>Personne</strong></p>
<ul>
<li>Une personne avec un T-Shirt Apple.</li>
<li>Un vieux garçon qui n&#8217;a jamais fait l&#8217;amour.</li>
<li>On peut en mourir, une forme d&#8217;arrêt du cœur.</li>
<li>Quelqu&#8217;un qui doit cracker les systèmes.</li>
<li>Double ses lacets, boit du lait chaque matin, et mets son sac à dos jusqu&#8217;au haut du cou.</li>
<li>A fond dans la culture japoneek.</li>
<li>Un monstre dans Harry Potter.</li>
<li>Un branchouille.</li>
</ul>
<p>Comme vous avez pu le voir, ce mot désigne beaucoup de chose <img src='http://blog.jesuislibre.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ( pour une définition détaillée voir le billet de <a href="http://blog.kornemuz.com/?2009/04/14/991-qu-est-ce-qu-un-geek">kornemuz )</a></p>
<p>Dans le même genre, voir la vidéo suivante:</p>
<blockquote><p>En général, les geeks, on ne les croise pas, ils sont derrière leur écran. C&#8217;est d&#8217;ailleurs ça qui fait d&#8217;eux des geeks. C&#8217;est à dire des gens qui passent huit, douze heures, quinze heures&#8230; vingt heures, pour ceux qui jouent à des jeux vidéos, derrière leur écran. C&#8217;est ce qui leur donne ce doux bronzage d&#8217;écran d&#8217;ordinateur</p>
<p><em>Nathalie Kosciusko-Moriset</em></p></blockquote>
<p><a href="http://blog.jesuislibre.org/2009/04/definition-dun-gisc-vue-par-la-population/"><em>Cliquer ici pour voir la vidéo.</em></a></p>
<img src="http://feeds.feedburner.com/~r/FamilleDeGeek/~4/zsY-dxNj1eE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesuislibre.org/2009/04/definition-dun-gisc-vue-par-la-population/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.jesuislibre.org/2009/04/definition-dun-gisc-vue-par-la-population/</feedburner:origLink></item>
		<item>
		<title>Générer un schéma xsd depuis un fichier xml</title>
		<link>http://feedproxy.google.com/~r/FamilleDeGeek/~3/mvGmgcFq5WI/</link>
		<comments>http://blog.jesuislibre.org/2009/04/generer-un-schema-xsd-depuis-un-fichier-xml/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 10:25:58 +0000</pubDate>
		<dc:creator>b_adele</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[Outil]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://blog.jesuislibre.org/?p=130</guid>
		<description><![CDATA[Pour cela nous allons utiliser l&#8217;outil trang, outil développé en Java, qui est donc multi-plateforme A propos XML (Extensible Markup Language) Format de fichier permettant d&#8217;échanger des informations entre divers logiciels XSD (Schema XML) Définit la structure d&#8217;un fichier XML Installation et utilisation de trang Je vais expliquer ici son utilisation et l&#8217;installation sur la [...]]]></description>
			<content:encoded><![CDATA[<p>Pour cela nous allons utiliser l&#8217;outil <a href="http://www.thaiopensource.com/relaxng/trang.html">trang</a>, outil développé en Java, qui est donc multi-plateforme</p>
<h2>A propos</h2>
<ul>
<li><strong><a href="http://fr.wikipedia.org/wiki/Extensible_Markup_Language">XML</a> (Extensible Markup Language)</strong> Format de fichier permettant d&#8217;échanger des informations entre divers logiciels</li>
<li><strong><a href="http://fr.wikipedia.org/wiki/XML_Schema">XSD</a> (Schema XML)</strong> Définit la structure d&#8217;un fichier XML</li>
</ul>
<h2>Installation et utilisation de trang</h2>
<p>Je vais expliquer ici son utilisation et l&#8217;installation sur la distribution Archlinux. </p>
<p>Nous installons trang avec l&#8217;outil <a href="http://archlinux.fr/yaourt">Yaourt</a></p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yaourt <span style="color: #660033;">-S</span> trang</div></div>
<p>Pour le fichier d&#8217;exemple, j&#8217;ai utilisé le fichier XML fourni dans le tutoriel suivant <a href="http://www.allhtml.com/articles/detail/354">http://www.allhtml.com/articles/detail/354</a></p>
<p>Copiez le fichier de l&#8217; exemple suivant dans le fichier <em>xml.xml</em></p>
<div class="codecolorer-container xml vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span><br />
<span style="color: #808080; font-style: italic;">&lt;!-- Exemple issu du site &nbsp;http://www.allhtml.com/articles/detail/354 --&gt;</span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;traducteur<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mot<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;francais<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Bleu<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/francais<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;english<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Blue<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/english<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;italiano<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Azzurro<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/italiano<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mot<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mot<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;francais<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Rouge<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/francais<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;english<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Red<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/english<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;italiano<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Rosso<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/italiano<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mot<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mot<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;francais<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Vert<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/francais<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;english<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Green<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/english<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;italiano<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Verde<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/italiano<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mot<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/traducteur<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></div>
<p>Ensuite lancez la commande suivante:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">trang xml.xml xml.xsd</div></div>
<p>Et voici le résultat</p>
<div class="codecolorer-container xml vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:schema</span> <span style="color: #000066;">xmlns:xs</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/2001/XMLSchema&quot;</span> <span style="color: #000066;">elementFormDefault</span>=<span style="color: #ff0000;">&quot;qualified&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;traducteur&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:complexType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:sequence<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">maxOccurs</span>=<span style="color: #ff0000;">&quot;unbounded&quot;</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;mot&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:sequence<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:complexType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:element<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;mot&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:complexType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:sequence<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;francais&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;english&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;">&quot;italiano&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:sequence<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:complexType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:element<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;francais&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;xs:NCName&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;english&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;xs:NCName&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xs:element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;italiano&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;xs:NCName&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xs:schema<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></div>
<img src="http://feeds.feedburner.com/~r/FamilleDeGeek/~4/mvGmgcFq5WI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesuislibre.org/2009/04/generer-un-schema-xsd-depuis-un-fichier-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jesuislibre.org/2009/04/generer-un-schema-xsd-depuis-un-fichier-xml/</feedburner:origLink></item>
		<item>
		<title>Export de vos données de KPhotoAlbum vers IPTC</title>
		<link>http://feedproxy.google.com/~r/FamilleDeGeek/~3/fCUSIFkAiUI/</link>
		<comments>http://blog.jesuislibre.org/2009/04/export-vos-donnees-de-kphotoalbum-vers-iptc/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 10:20:25 +0000</pubDate>
		<dc:creator>b_adele</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Photo]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://blog.jesuislibre.org/?p=72</guid>
		<description><![CDATA[Depuis environ 5 ans j&#8217;utilise KPhotoAlbum. Afin d&#8217;éviter de devoir retagger mes photos pour les  partager sur mon compte flickr, j&#8217;ai modifié un script de Pierre Doucet trouvé sur le site linuxfr A propos KPhotoAlbum (se nommait auparavant kimdaba), ce logiciel fonctionne sous KDE et permet d&#8217;associer pour chaque photo des mots clefs comme par [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis environ 5 ans j&#8217;utilise KPhotoAlbum. Afin d&#8217;éviter de devoir retagger mes photos pour les  partager sur mon <a title="Compte flickr" href="http://www.flickr.com/photos/b_adele/">compte flickr</a>, j&#8217;ai modifié un script de Pierre Doucet trouvé sur <a href="http://linuxfr.org/~doucetp/20428.html">le site linuxfr</a></p>
<h2>A propos</h2>
<ul>
<li><a href="http://kphotoalbum.org/"></a><a href="http://kphotoalbum.org/">KPhotoAlbum</a> (se nommait auparavant kimdaba), ce logiciel fonctionne sous KDE et permet d&#8217;associer pour chaque photo des mots clefs comme par exemple (Lieu, Personne, Evènement).  Vous pouvez ensuite retrouver très rapidement des photos en fonction des mots clefs désirés. Ce logiciel me permet de retrouver en moins de 5 secondes des photos sur une base de + de 20.000 photos.</li>
<li><a href="http://fr.wikipedia.org/wiki/International_Press_Telecommunications_Council">IPTC</a> Standard permettant de véhiculer des informations directement dans la photo. Ceci permet donc visualiser les informations depuis un logiciel compatible IPTC.</li>
</ul>
<h2>Installation</h2>
<p>Avant d&#8217;utiliser le script il faut avant tout installer les librairies perl.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> ~<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<br />
<span style="color: #c20cb9; font-weight: bold;">perl</span> <span style="color: #660033;">-MCPAN</span> <span style="color: #660033;">-e</span> shell</div></div>
<p>Répondre oui à la question posée, ensuite exécuter les lignes suivantes</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cpan<span style="color: #000000; font-weight: bold;">&gt;</span><br />
o conf makepl_arg <span style="color: #007800;">PREFIX</span>=~<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span><br />
o conf commit<br />
<span style="color: #c20cb9; font-weight: bold;">install</span> Image::Kimdaba<br />
<span style="color: #c20cb9; font-weight: bold;">install</span> Image::IPTCInfo</div></div>
<h2>Le script</h2>
<p>Copier le script ci dessous vers le fichier kphotoalbum2iptc.pl</p>
<p>Par soucis de sécurité le script s&#8217;exécute en mode simulation, pour l&#8217;activer, modifier la variable onlyparse à 0</p>
<p><strong>Exemple d&#8217;utilisation</strong></p>
<div class="codecolorer-container perl vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="perl codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">./</span>kphotoalbum2iptc<span style="color: #339933;">.</span>pl <span style="color: #339933;">/</span>path<span style="color: #339933;">/</span>album <span style="color: #ff0000;">&quot;^sous repertoire.*.jpg|.jpeg&quot;</span></div></div>
<p><em>kphotoalbum2iptc.pl</em></p>
<div class="codecolorer-container perl vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="perl codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#! /usr/bin/perl -w</span><br />
<span style="color: #666666; font-style: italic;"># kphotoalbum2iptc.pl</span><br />
<br />
<span style="color: #666666; font-style: italic;"># Param 1 : Chemin du catalogue KPhotoAlbum</span><br />
<span style="color: #666666; font-style: italic;"># Param 2 : Filtre (ex: &quot;^dvd 3.*\.jpg|\.jpeg&quot; )</span><br />
<br />
<br />
<span style="color: #666666; font-style: italic;"># A MODIFIER</span><br />
<span style="color: #000000; font-weight: bold;">use</span> lib <a href="http://perldoc.perl.org/functions/qw.html"><span style="color: #000066;">qw</span></a><span style="color: #009900;">&#40;</span><span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>b_adele<span style="color: #339933;">/</span><a href="http://perldoc.perl.org/functions/local.html"><span style="color: #000066;">local</span></a><span style="color: #339933;">/</span>share<span style="color: #339933;">/</span>perl5<span style="color: #339933;">/</span>site_perl<span style="color: #339933;">/</span>5<span style="color: #339933;">.</span>10<span style="color: #339933;">.</span>0<span style="color: #339933;">/</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #0000ff;">$verbose</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #0000ff;">$onlyparse</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># Chargement des librairies</span><br />
<span style="color: #000000; font-weight: bold;">use</span> Image<span style="color: #339933;">::</span><span style="color: #006600;">Kimdaba</span><span style="color: #339933;">;</span> <br />
<span style="color: #000000; font-weight: bold;">use</span> Image<span style="color: #339933;">::</span><span style="color: #006600;">IPTCInfo</span><span style="color: #339933;">;</span> <br />
<br />
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">@ListOfPictures</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #0000ff;">$folder</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ARGV</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #0000ff;">$filter</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ARGV</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <br />
<br />
<span style="color: #666666; font-style: italic;"># Parse le catalogue KPhotoAlbum</span><br />
<a href="http://perldoc.perl.org/functions/print.html"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;Chemin de base: $folder<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
parseDB<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;$folder&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># Compte le nombre de photos</span><br />
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$nb1</span><span style="color: #339933;">=</span> <a href="http://perldoc.perl.org/functions/scalar.html"><span style="color: #000066;">scalar</span></a> <a href="http://perldoc.perl.org/functions/keys.html"><span style="color: #000066;">keys</span></a> <span style="color: #0000ff;">%imageattributes</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$nb2</span><span style="color: #339933;">=</span> <a href="http://perldoc.perl.org/functions/scalar.html"><span style="color: #000066;">scalar</span></a> <a href="http://perldoc.perl.org/functions/keys.html"><span style="color: #000066;">keys</span></a> <span style="color: #0000ff;">%imageoptions</span><span style="color: #339933;">;</span><br />
<a href="http://perldoc.perl.org/functions/print.html"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;$nb1 photos dont $nb2 avec des tags:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<br />
<br />
<span style="color: #666666; font-style: italic;"># Ajout des infos dans la photo (IPTC)</span><br />
<span style="color: #0000ff;">$count</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">foreach</span> <span style="color: #0000ff;">$kphoto</span> <span style="color: #009900;">&#40;</span><a href="http://perldoc.perl.org/functions/keys.html"><span style="color: #000066;">keys</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">%imageoptions</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$kphoto</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">m/$filter/i</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$count</span><span style="color: #339933;">++;</span><br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;Photo en cours : $folder/$kphoto (N° $count)<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$iptc</span> <span style="color: #339933;">=</span> create Image<span style="color: #339933;">::</span><span style="color: #006600;">IPTCInfo</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;$folder/$kphoto&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">foreach</span> <span style="color: #0000ff;">$kkey</span> <span style="color: #009900;">&#40;</span><a href="http://perldoc.perl.org/functions/keys.html"><span style="color: #000066;">keys</span></a><span style="color: #009900;">&#40;</span><span style="color: #339933;">%</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">$imageoptions</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">$kphoto</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$verbose</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <a href="http://perldoc.perl.org/functions/print.html"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;--&gt; $kkey<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">foreach</span> <span style="color: #0000ff;">$values</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">$</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">$imageoptions</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">$kphoto</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">$kkey</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$verbose</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <a href="http://perldoc.perl.org/functions/print.html"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;-----&gt; $values<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">$iptc</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">AddKeyword</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;$values&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #0000ff;">$onlyparse</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">$iptc</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">Save</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<a href="http://perldoc.perl.org/functions/print.html"><span style="color: #000066;">print</span></a> <span style="color: #ff0000;">&quot;$count photos traitées&quot;</span><span style="color: #339933;">;</span></div></div>
<img src="http://feeds.feedburner.com/~r/FamilleDeGeek/~4/fCUSIFkAiUI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.jesuislibre.org/2009/04/export-vos-donnees-de-kphotoalbum-vers-iptc/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		<feedburner:origLink>http://blog.jesuislibre.org/2009/04/export-vos-donnees-de-kphotoalbum-vers-iptc/</feedburner:origLink></item>
	</channel>
</rss>

