<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Le Blog du grand loup Zeur</title>
	<atom:link href="http://blog.gaetan-grigis.eu/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gaetan-grigis.eu</link>
	<description>Le blog qui vous fait connaitre ce que vous savez déjà</description>
	<lastBuildDate>Sun, 25 Jul 2010 20:48:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Appengine, WordPress et XML-RPC</title>
		<link>http://blog.gaetan-grigis.eu/python-2/appengine-wordpress-et-xml-rpc/</link>
		<comments>http://blog.gaetan-grigis.eu/python-2/appengine-wordpress-et-xml-rpc/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 20:48:03 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[xml-rpc]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=883</guid>
		<description><![CDATA[Plop à tous Cet article est seulement la présentation d&#8217;un de mes projets qui avance assez rapidement : un Front End de WordPress écrit en Python à utiliser via Google AppEngine. Le but est de faire un tout petit peu plus que le système de CDN/Cache par Cirrux (que j&#8217;utilise et ai présenté dans l&#8217;un [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous</p>
<p>Cet article est seulement la présentation d&#8217;un de mes projets qui avance assez rapidement : un Front End de WordPress écrit en Python à utiliser via Google AppEngine.<br />
<span id="more-883"></span></p>
<p>Le but est de faire un tout petit peu plus que le système de CDN/Cache par Cirrux (que j&#8217;utilise et ai présenté dans l&#8217;un de mes autres articles). Avec notamment pas mal de fonctionnalités propre aux blogs dont :</p>
<ul>
<li>Stockage des médias en blob dans la base de données</li>
<li>Importation XML des données (articles, commentaires, catégories, tags) depuis un export WordPress</li>
<li>Importation direct des données par requête XML-RPC</li>
<li>Mise à jour dans les deux sens (blog <-> frontend) via XML-RPC (synchro des commentaires, &#8230;)</li>
<li>Système de cache médias et html</li>
<li>Utilisation de templates spécifiques</li>
</ul>
<p>Bien sûr, tout n&#8217;est pas encore utilisable, mais pas mal de choses ont déjà été implémentées, et certaine le seront prochainement.</p>
<p><strong>L&#8217;intérêt du système : </strong></p>
<ol>
<li>Garder un site toujours online (google plante rarement)</li>
<li>Profiter des systèmes de CDN fournit par Google pour son blog (d&#8217;autant plus que la rapidité de chargement des pages est désormais à prendre en compte en SEO)</li>
<li>Sécurité renforcée, puisque c&#8217;est Google qui sera en première ligne, le front-end s&#8217;occupant au pire de faire proxy entre le client et le serveur</li>
<li>Montée en charge plus rare (voir inexistante) puisqu&#8217;une fois l&#8217;ensemble synchronisé, on pourrait même éteindre le serveur et laisser le frontend distribuer le cache et stocker les coms en vu d&#8217;une synchro </li>
<li>Niveau templates, il n&#8217;y a que 3 fichiers à modifier</li>
</ol>
<p><strong>Les désavantages :</strong></p>
<ul>
<li>Google &#8230; toujours Google (mais bon <img src='http://cdn-blog-loupzeur.appspot.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</li>
<li>Utilisation de templates spécifique, il faudra donc se créer soi-même sa template (ça ma pris 30 minutes pour ma template actuelle donc &#8230;)</li>
<li>Système d&#8217;import lourd, Google risque de ne pas aimer (pas mal de limitation niveau requêtes/CPU)</li>
<li>Les plugins du blog seront ignorés (coloration syntaxique, twitter, &#8230;)</li>
<li>Toujours pas la possibilité d&#8217;utiliser pleinement les Appengines comme plateforme de blog (autant utiliser blogger <img src='http://cdn-blog-loupzeur.appspot.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) </li>
<li>Faut garder un serveur online (à mi-temps au moins pour la publication des articles et les mises à jour).</li>
<li>Inutilisable par des blogs intensément commenté (puisque ça supprimerait l&#8217;utilisation du cache et augmenterait de façon importante le nombre de requêtes effectuées)</li>
</ul>
<p>Le projet est sur Github : <a href="http://github.com/cipher16/wpfe-gae">wpfe-gae</a>. Comme dit, c&#8217;est encore en phase de développement intensif, et je ne suis pas sûr des méthodes employées. (une version d&#8217;exemple pas encore synchro à voir sur &#8216;blog-fe.gaetan-grigis.eu&#8217; pas de lien pour éviter le référencement du truc).</p>
<p><strong>Fonctionnement</strong><br />
Côté fonctionnement, c&#8217;est assez simple : pour charger le contenu on peut uploader un fichier XML de sauvegarde du blog, ou synchroniser par XML-RPC (depuis les version 2.6, WordPress autorise les requêtes XML-RPC et supporte les API de Blogger et Movable Type).</p>
<p>Pour les commentaires (partie encore à développée), le système devrait proposer un système assez sympa :<br />
Lorsque l&#8217;on poste un commentaire, une requête XML-RPC serait envoyée au véritable blog pour stocker le commentaire, et le front-end le stockerait aussi. Dans le cas où le serveur du blog ne répond pas, le front-end mettrais le commentaire en queue pour une mise à jour future.</p>
<p>Sinon, rien ne change niveau affichage des liens/urls, les urls fournit par WordPress serait réutilisées.</p>
<p>Une autre idée aurait été d&#8217;utiliser le système de cache fournit par Cirrux, et de développer le Webservice s&#8217;occupant des commentaires, permettant ainsi de ne pas avoir à recoder son template pour être supporté par Django, et ainsi changer directement les templates depuis son blog, et garder l&#8217;ensemble des avantages de WordPress (plugins, &#8230;).</p>
<p>Donc voilà, sous réserve que je ne change pas d&#8217;avis et que je ne développe le webservice sur Cirrux, ce blog sera donc hébergé chez Google <img src='http://cdn-blog-loupzeur.appspot.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Mais bon ça prendra du temps.</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=883">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/programmation/creer-son-propre-service-de-mail-jetable-avec-appengine/" rel="bookmark" title="Permanent Link: Créer son propre service de mail jetable avec appengine">Créer son propre service de mail jetable avec appengine</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/mise-en-place-dun-cdn-via-google-app-engine/" rel="bookmark" title="Permanent Link: Mise en place d&#8217;un CDN via Google App Engine">Mise en place d&#8217;un CDN via Google App Engine</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/php-programmation/marre-du-spam-sur-wordpress/" rel="bookmark" title="Permanent Link: Marre du spam sur wordpress ??">Marre du spam sur wordpress ??</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/systeme-dalerte-via-sms-sur-vos-serveurs-grace-a-google-calendar/" rel="bookmark" title="Permanent Link: Système d&#8217;alerte via SMS sur vos serveurs grace à google calendar.">Système d&#8217;alerte via SMS sur vos serveurs grace à google calendar.</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/securiser-un-blog-wordpress-par-un-ips-avec-wpsyslog2-et-ossec/" rel="bookmark" title="Permanent Link: Sécuriser un blog WordPress par un IPS avec wpsyslog2 et ossec">Sécuriser un blog WordPress par un IPS avec wpsyslog2 et ossec</a></li></ul><hr /><small>Copyright &copy; 2008-2010 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/python-2/appengine-wordpress-et-xml-rpc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiler Cyanogen (android froyo) sur Ubuntu</title>
		<link>http://blog.gaetan-grigis.eu/android/compiler-cyanogen-android-froyo-sur-ubuntu/</link>
		<comments>http://blog.gaetan-grigis.eu/android/compiler-cyanogen-android-froyo-sur-ubuntu/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 14:01:03 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[cyanogen]]></category>
		<category><![CDATA[cyanogenmod]]></category>
		<category><![CDATA[froyo]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[repo]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=875</guid>
		<description><![CDATA[Plop à tous &#8230; !!!!!!!!!!!!!!PETIT RAPPEL, EN CAS DE BRIQUAGE DE VOTRE TELEPHONE, VOUS ETES SEUL RESPONSABLE!!!!!!!! rapide article pour compiler sa propre version de cyanogen et de créer un paquet à flasher directement sur son téléphone &#8230; concernant les dépendances (fichiers à installer, &#8230;) : Pour toutes les architectures : sudo apt-get -yqq install [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;</p>
<p><strong>!!!!!!!!!!!!!!PETIT RAPPEL, EN CAS DE BRIQUAGE DE VOTRE TELEPHONE, VOUS ETES SEUL RESPONSABLE!!!!!!!! </strong><br />
rapide article pour compiler sa propre version de cyanogen et de créer un paquet à flasher directement sur son téléphone &#8230; concernant les dépendances (fichiers à installer, &#8230;) :<br />
Pour toutes les architectures :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> apt-get -yqq <span class="kw2">install</span> git-core gnupg sun-java6-jdk <span class="kw2">flex</span> <span class="kw2">bison</span> gperf libsdl-dev ncurses-dev libesd0-dev libwxgtk2<span class="nu0">.6</span>-dev build-essential <span class="kw2">zip</span> curl libncurses5-dev zlib1g-dev valgrind</div>
</li>
</ol>
</div>
<p>Pour les 64 bits :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> apt-get -yqq <span class="kw2">install</span> ia32-libs lib32z1-dev lib32ncurses5-dev gcc-multilib g++-multilib lib32readline5-dev</div>
</li>
</ol>
</div>
<p><span id="more-875"></span><br />
Et après, on commence les réjouissances : </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">mkdir</span> cmfroyo<span class="sy0">&amp;&amp;</span>cd cmfroyo</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">wget</span> http:<span class="sy0">//</span>android.git.kernel.org<span class="sy0">/</span>repo</div>
</li>
<li class="li1">
<div class="de1">.<span class="sy0">/</span>repo init -u git:<span class="sy0">//</span>github.com<span class="sy0">/</span>CyanogenMod<span class="sy0">/</span>android.git -b froyo</div>
</li>
<li class="li1">
<div class="de1">.<span class="sy0">/</span>repo <span class="kw2">sync</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">wget</span> http:<span class="sy0">//</span>android:teamd00sh<span class="sy0">@</span>kanged.net<span class="sy0">/</span>private<span class="sy0">/</span>proprietaries<span class="sy0">/</span>dream_sapphire.tgz;tar zxvf dream_sapphire.tgz;rm dream_sapphire.tgz;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">cd</span> vendor<span class="sy0">/</span>cyanogen</div>
</li>
<li class="li1">
<div class="de1">.<span class="sy0">/</span>get-rommanager</div>
</li>
<li class="li1">
<div class="de1">.<span class="sy0">/</span>get-google-files</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">cd</span> ..<span class="sy0">/</span>..</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">source</span> build<span class="sy0">/</span>envsetup.<span class="kw2">sh</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sed</span> -n -e <span class="st0">&quot;s/^add_lunch_combo//gp&quot;</span> vendor<span class="sy0">/*/</span>vendorsetup.<span class="kw2">sh</span></div>
</li>
<li class="li1">
<div class="de1">lunch cyanogen_dream_sapphire-eng</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">make</span> -j4 installclean</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">make</span> -j4</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">make</span> -j4 otapackage</div>
</li>
</ol>
</div>
<p>Comptez environ 1 heures entre le début de l&#8217;execution des commandes et l&#8217;arrivée à la dernière commande.</p>
<p>Une fois terminé, dans le dossier &laquo;&nbsp;out/target/product/dream_sapphire&nbsp;&raquo; vous trouverez votre paquet nommé : &laquo;&nbsp;cyanogen_dream_sapphire-ota-eng.VOTRENOM.zip&nbsp;&raquo;<br />
à mettre sur votre SDCARD et à flasher par les rites habituels (fastboot/recovery/adb, &#8230;).</p>
<p>Attention, il se peut qu&#8217;elle ne fonctionne pas, donc gardez toujours sous le coude une version fonctionnelle <img src='http://cdn-blog-loupzeur.appspot.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Sinon, vous pouvez toujours vous rabattre sur les versions <a href="http://buildbot.teamdouche.net/nightly/dream_sapphire/">nightly</a>, qui peuvent être fonctionnelle (mais ça c&#8217;est pas sûr non plus).</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=875">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/android/compiler-android-sur-ubuntu-9-10/" rel="bookmark" title="Permanent Link: Compiler android sur ubuntu 9.10">Compiler android sur ubuntu 9.10</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/installer-un-donuts-sur-son-g1-cyanogenmod/" rel="bookmark" title="Permanent Link: Installer un donuts sur son G1 (CyanogenMod)">Installer un donuts sur son G1 (CyanogenMod)</a></li><li><a href="http://blog.gaetan-grigis.eu/mes-applicationsscripts/" rel="bookmark" title="Permanent Link: Mes Applications/Scripts">Mes Applications/Scripts</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/mon-application-android-pour-les-horaires-de-la-cts/" rel="bookmark" title="Permanent Link: Mon Application Android pour les horaires de la CTS">Mon Application Android pour les horaires de la CTS</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/creer-un-paquet-pour-les-ppa/" rel="bookmark" title="Permanent Link: Créer un paquet pour les ppa">Créer un paquet pour les ppa</a></li></ul><hr /><small>Copyright &copy; 2008-2010 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/android/compiler-cyanogen-android-froyo-sur-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mise en place d&#8217;un CDN via Google App Engine</title>
		<link>http://blog.gaetan-grigis.eu/systeme/administration/mise-en-place-dun-cdn-via-google-app-engine/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/administration/mise-en-place-dun-cdn-via-google-app-engine/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 11:27:07 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[cdn]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=867</guid>
		<description><![CDATA[Plop à tous &#8230;. ça fait un certain temps déjà que j&#8217;essai de voir pour utiliser différents systèmes de cache de contenu pour alléger la charge de mon dédié (un RPS), après avoir testé plusieurs systèmes, j&#8217;ai opté pour le système de CDN CirruxCache, qui utilise le Google App Engine (et oui google est partout), [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;. </p>
<p>ça fait un certain temps déjà que j&#8217;essai de voir pour utiliser différents systèmes de cache de contenu pour alléger la charge de mon dédié (un RPS), après avoir testé plusieurs systèmes, j&#8217;ai opté pour le système de CDN <a href="http://code.google.com/p/cirruxcache/">CirruxCache</a>, qui utilise le Google App Engine (et oui google est partout), le gros avantage du système c&#8217;est que c&#8217;est fournit par les serveurs de GG (donc super rapide et tout et tout) et écrit en python, ce qui m&#8217;a permis de faire une petite modif sympa pour spécifier un TTL spécifique sur le type de fichier.<br />
<span id="more-867"></span><br />
La mise en place est très simple, on crée son compte sur <a href="http://appengine.google.com">appengine.google.com</a>, on crée son appli, qui nous retourne un identifiant.<br />
Une fois que l&#8217;on a un identifiant on modifie le fichier app.yaml et on modifie la ligne commençant par application par :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">application: identifiant-de-l<span class="st0">&#39;appli</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"</span></div>
</li>
</ol>
</div>
<p>Il faut encore modifier le fichier app.py pour spécifier notre Url :</p>
<div class="geshi no python">
<ol>
<li class="li1">
<div class="de1">urls<span class="br0">&#91;</span><span class="st0">&#39;default&#39;</span><span class="br0">&#93;</span> = <span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&#39;/_cron/(.*)&#39;</span>, <span class="st0">&#39;Cron&#39;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="st0">&#39;(/.*)&#39;</span>, <span class="st0">&#39;Www&#39;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1"># POP definition</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1"># You can define and configure your Point Of Presence</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">class</span> Www<span class="br0">&#40;</span>cache.<span class="me1">Service</span><span class="br0">&#41;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp;origin = <span class="st0">&#39;http://votre site web&#39;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;allowFlushFrom = <span class="br0">&#91;</span><span class="st0">&#39;127.0.0.1&#39;</span><span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;forceTTL = <span class="nu0">86400</span> <span class="co1"># 1 day</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;ignoreQueryString = <span class="kw2">True</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;forwardPost = <span class="kw2">True</span></div>
</li>
</ol>
</div>
<p>Pour ma part, comme les images ne changent pas beaucoup, j&#8217;ai voulu spécifier un TTL différent pour certain types de fichiers, pour ce faire, il faut modifier le fichier lib/cache.py et mettre tout en haut de la fonction getMaxAge (à la fin du fichier) :</p>
<div class="geshi no python">
<ol>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span> <span class="st0">&#39;content-type&#39;</span> <span class="kw1">in</span> headers:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">#check type</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;header = headers<span class="br0">&#91;</span><span class="st0">&#39;content-type&#39;</span><span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;n = header.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">&quot;image&quot;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span> n <span class="sy0">!</span>= <span class="nu0">-1</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">return</span> <span class="nu0">2592000</span></div>
</li>
</ol>
</div>
<p>Ce qui permettra d&#8217;avoir un TTL d&#8217;un mois pour les images!!</p>
<p>Ensuite il suffit d&#8217;uploader l&#8217;application via l&#8217;utilitaire de Google AppEngine :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">.<span class="sy0">/</span>appcfg.py update dossier<span class="sy0">/</span>de<span class="sy0">/</span>l<span class="st0">&#39;appli</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"</span></div>
</li>
</ol>
</div>
<p>Dans le cas d&#8217;un blog wordpress, deux choses peuvent être utile :<br />
une règle htaccess pour forcer le téléchargement des images sur le CDN (remplacer cdn-blog-loupzeur.appspot.com par votre url de CDN) :</p>
<div class="geshi no htaccess">
<ol>
<li class="li1">
<div class="de1">RewriteCond %{HTTP_USER_AGENT} !^CirruxCache
</div>
</li>
<li class="li1">
<div class="de1">RewriteRule ^(.*)\.(gif|png|jpg|jpeg) http://cdn-blog-loupzeur.appspot.com/$1.$2 [R=301,L]</div>
</li>
</ol>
</div>
<p>Ne pas oublier le RewriteCond, sinon ça boucle et ça retourne une erreur 500</p>
<p>Et la deuxième chose très importante, l&#8217;installation du plugins <a href="http://wordpress.org/extend/plugins/ossdl-cdn-off-linker/">OSSDL CDN off-linker</a>, qui va permettre de remplacer directement les urls des images/css/js du site par l&#8217;url du CDN.</p>
<p>Et comme ça, 90% des requêtes passeront par votre CDN, et les visiteurs ne téléchargeront que la page html.</p>
<p>Bien entendu, comme c&#8217;est un système de cache qui fonctionne aussi pour les pages web, il faut penser à rajouter un fichier robots.txt en disallow: / pour éviter le Duplicate Content du CDN (si vous n&#8217;utilisez pas le CDN en reverse).</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=867">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/programmation/creer-son-propre-service-de-mail-jetable-avec-appengine/" rel="bookmark" title="Permanent Link: Créer son propre service de mail jetable avec appengine">Créer son propre service de mail jetable avec appengine</a></li><li><a href="http://blog.gaetan-grigis.eu/mes-applicationsscripts/" rel="bookmark" title="Permanent Link: Mes Applications/Scripts">Mes Applications/Scripts</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/mettre-en-place-un-serveur-tor-quest-ce-que-ca-bouffe/" rel="bookmark" title="Permanent Link: Mettre en place un serveur TOR &#8230; qu&#8217;est-ce que ça bouffe ??">Mettre en place un serveur TOR &#8230; qu&#8217;est-ce que ça bouffe ??</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/edyuk-version-110-released/" rel="bookmark" title="Permanent Link: Edyuk version 1.1.0 released">Edyuk version 1.1.0 released</a></li><li><a href="http://blog.gaetan-grigis.eu/non-classe/les-liens-du-we/" rel="bookmark" title="Permanent Link: Les liens du WE">Les liens du WE</a></li></ul><hr /><small>Copyright &copy; 2008-2010 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/administration/mise-en-place-dun-cdn-via-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wifi ou 3G tethering sur cyanogenmod via Bluetooth ou USB</title>
		<link>http://blog.gaetan-grigis.eu/ubuntu/wifi-ou-3g-tethering-sur-cyanogenmod-via-bluetooth-ou-usb/</link>
		<comments>http://blog.gaetan-grigis.eu/ubuntu/wifi-ou-3g-tethering-sur-cyanogenmod-via-bluetooth-ou-usb/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 07:29:14 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[cyanogenmod]]></category>
		<category><![CDATA[tethering]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=853</guid>
		<description><![CDATA[Plop à tous &#8230;. ATTENTION, le tethering (partage de la connexion n&#8217;est peut être pas autorisé par votre fournisseur d&#8217;accès &#8230;) Une petite astuce pour profiter du tethering du wifi ou de la 3G sur les dernières version du cyanogenmod 5.x, pour ce faire, il suffit d&#8217;aller sur le menu Paramètre, puis &#171;&#160;Sans fil et [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;.</p>
<p><span style="color: #ff0000;">ATTENTION, le tethering (partage de la connexion n&#8217;est peut être pas autorisé par votre fournisseur d&#8217;accès &#8230;)</span><br />
<span id="more-853"></span><br />
Une petite astuce pour profiter du tethering du wifi ou de la 3G sur les dernières version du cyanogenmod 5.x, pour ce faire, il suffit d&#8217;aller sur le menu Paramètre, puis &laquo;&nbsp;Sans fil et réseaux&nbsp;&raquo;, puis &laquo;&nbsp;internet tethering&nbsp;&raquo; :<br />
<a href="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/07/tether.png"><img class="aligncenter size-full wp-image-856" title="tether" src="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/07/tether.png" alt="" width="320" height="480" /></a><br />
Maintenant vous avez deux possibilités :</p>
<h2>USB</h2>
<p>Partager la connexion par USB, rien de plus simple, une fois la connectique USB branchée, sur Ubuntu, NetworkManager détecte automatiquement le téléphone comme modem et se connecte dessus :<br />
<a href="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/07/Seelection_0131.png"><img class="aligncenter size-full wp-image-859" title="Sélection_013" src="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/07/Seelection_0131.png" alt="" width="351" height="147" /></a></p>
<p><span style="color: #ff0000;">Attention, tant que l&#8217;option &laquo;&nbsp;internet tethering&nbsp;&raquo; est actif, il vous sera impossible de transférer de fichiers sur votre téléphone depuis l&#8217;ordinateur et vice-versa.</span></p>
<h2>Bluetooth</h2>
<p>L&#8217;autre possibilité est de partager la connexion par Bluetooth &#8230; un peu plus compliqué, car ce n&#8217;est pas reconnu par défaut &#8230; Il vous faudra tout d&#8217;abord pairer votre téléphone via bluetooth (je vous laisse vous débrouillez pour ça).</p>
<p>Puis avec blueman (apt-get install blueman), clic droit puis &laquo;&nbsp;actualiser le service&nbsp;&raquo; (pour rafraichir la connexion), puis clic droit &laquo;&nbsp;&nbsp;&raquo;  : &laquo;&nbsp;Connect to : Point d&#8217;accès réseau&nbsp;&raquo; :<br />
<a href="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/07/Seelection_0111.png"><img class="aligncenter size-full wp-image-858" title="Sélection_011" src="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/07/Seelection_0111.png" alt="" width="802" height="456" /></a></p>
<p>Il vous faudra ensuite ouvrir une console et vérifier la connexion par un ifconfig, si la connexion à fonctionnée, une interface bnep0 est apparu, il vous suffit de faire un :</p>
<pre lang="bash">sudo dhclient bnep0</pre>
<p>et vous obtiendrez votre connexion à internet par bluetooth &#8230;</p>
<h2>Débit</h2>
<p>Niveau débit &#8230; il y a une net différence, en USB on peut monter à 500ko/s (en wifi bien sûr), ce qui donne un débit intéressant pour les jeux vidéos (fps et autre) avec un ping moyen de 80, en bluetooth, le débit monte à 80ko/s et j&#8217;ai pas osé de ping vu la lenteur de la connexion ^^.</p>
<h2>L&#8217;intérêt du système</h2>
<p>Profiter d&#8217;une connexion à internet en dehors de chez soi (pour la 3G), ou bien avoir une carte wifi d&#8217;appoint pour un fixe sans carte wifi.</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=853">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/ubuntu/controller-sa-carte-wifi-atheros-sous-ubuntu-lucid/" rel="bookmark" title="Permanent Link: Controller sa carte wifi atheros sous ubuntu Lucid">Controller sa carte wifi atheros sous ubuntu Lucid</a></li><li><a href="http://blog.gaetan-grigis.eu/ubuntu/une-wii-hd-pour-moins-de-100e-avec-dolphin-sur-ubuntu/" rel="bookmark" title="Permanent Link: Une Wii HD pour moins de 100€ avec Dolphin sur Ubuntu">Une Wii HD pour moins de 100€ avec Dolphin sur Ubuntu</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/iodine-et-dns-tunneling/" rel="bookmark" title="Permanent Link: Iodine et DNS Tunneling">Iodine et DNS Tunneling</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/bt3-dans-les-bacs-les-hackeurs-vont-se-regaler/" rel="bookmark" title="Permanent Link: BT3 dans les bacs &#8230; les hackeurs vont se régaler">BT3 dans les bacs &#8230; les hackeurs vont se régaler</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/installer-un-donuts-sur-son-g1-cyanogenmod/" rel="bookmark" title="Permanent Link: Installer un donuts sur son G1 (CyanogenMod)">Installer un donuts sur son G1 (CyanogenMod)</a></li></ul><hr /><small>Copyright &copy; 2008-2010 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/ubuntu/wifi-ou-3g-tethering-sur-cyanogenmod-via-bluetooth-ou-usb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Driver em2882 pour clé USB TNT Cingery T et Ubuntu 10.04</title>
		<link>http://blog.gaetan-grigis.eu/ubuntu/driver-em2882-pour-cle-usb-tnt-cingery-t-et-ubuntu-10-04/</link>
		<comments>http://blog.gaetan-grigis.eu/ubuntu/driver-em2882-pour-cle-usb-tnt-cingery-t-et-ubuntu-10-04/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 06:57:14 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[cinergy]]></category>
		<category><![CDATA[cynergy]]></category>
		<category><![CDATA[em2880]]></category>
		<category><![CDATA[em2882]]></category>
		<category><![CDATA[em28xx]]></category>
		<category><![CDATA[tnt]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=849</guid>
		<description><![CDATA[Plop à tous &#8230; ça y est, le driver em2882 fonctionne à nouveau pour ubuntu 10.04 (et surement d&#8217;autres version de linux). L&#8217;installation change un peu, il vous faut le gestionnaire de revision hg, puis faire un clone du dépôt : http://linuxtv.org/hg/v4l-dvb, et compiler le driver : apt-get install mercurial &#38;&#38; hg clone http://linuxtv.org/hg/v4l-dvb &#38;&#38; [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;</p>
<p>ça y est, le driver em2882 fonctionne à nouveau pour ubuntu 10.04 (et surement d&#8217;autres version de linux). L&#8217;installation change un peu, il vous faut le gestionnaire de revision hg, puis faire un clone du dépôt : http://linuxtv.org/hg/v4l-dvb, et compiler le driver :<br />
<span id="more-849"></span></p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">apt-get <span class="kw2">install</span> mercurial <span class="sy0">&amp;&amp;</span> hg clone http:<span class="sy0">//</span>linuxtv.org<span class="sy0">/</span>hg<span class="sy0">/</span>v4l-dvb <span class="sy0">&amp;&amp;</span> <span class="kw3">cd</span> v4l-dvb <span class="sy0">&amp;&amp;</span> <span class="kw2">make</span> <span class="sy0">&amp;&amp;</span> <span class="kw2">sudo</span> <span class="kw2">make</span> <span class="kw2">install</span></div>
</li>
</ol>
</div>
<p>Si la compilation plante pour firedtv, il vous faudra modifier le fichier &laquo;&nbsp;v4l/.config&nbsp;&raquo; dans le dossier v4l-dvb à la ligne 235 et remplacer : </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="re2">CONFIG_DVB_FIREDTV=</span>y</div>
</li>
</ol>
</div>
<p>par :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="re2">CONFIG_DVB_FIREDTV=</span>n</div>
</li>
</ol>
</div>
<p>puis relancer le make et make install</p>
<p>Ensuite, il vous suffira de connecter la clé usb TNT, et un dmesg devrait retourner : </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.432005</span><span class="br0">&#93;</span> em28xx: New device TerraTec Electronic GmbH Cinergy Hybrid T USB XS <span class="br0">&#40;</span><span class="nu0">2882</span><span class="br0">&#41;</span> <span class="sy0">@</span> <span class="nu0">480</span> Mbps <span class="br0">&#40;</span>0ccd:005e, interface <span class="nu0">0</span>, class <span class="nu0">0</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.432138</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: chip ID is em2882/em2883</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.444910</span><span class="br0">&#93;</span> IR NEC protocol handler initialized</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649695</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom 00: 1a eb 67 95 cd 0c 5e 00 d0 12 5c 03 9e 40 de 1c</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649703</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom 10: 6a 34 27 57 46 07 01 00 00 00 00 00 00 00 00 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649709</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom 20: 46 00 01 00 f0 10 31 00 b8 00 14 00 5b 1e 00 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649714</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom 30: 00 00 20 40 20 6e 02 20 10 01 00 00 00 00 00 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649719</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649724</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649729</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 34 03 54 00 65 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649734</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom 70: 72 00 72 00 61 00 54 00 65 00 63 00 20 00 45 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649740</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom 80: 6c 00 65 00 63 00 74 00 72 00 6f 00 6e 00 69 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649745</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom 90: 63 00 20 00 47 00 6d 00 62 00 48 00 00 00 40 03</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649750</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom a0: 43 00 69 00 6e 00 65 00 72 00 67 00 79 00 20 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649755</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom b0: 48 00 79 00 62 00 72 00 69 00 64 00 20 00 54 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649760</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom c0: 20 00 55 00 53 00 42 00 20 00 58 00 53 00 20 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649765</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom d0: 28 00 32 00 38 00 38 00 32 00 29 00 00 00 1c 03</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649770</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom e0: 30 00 36 00 31 00 32 00 30 00 32 00 30 00 30 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649775</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: i2c eeprom f0: 32 00 33 00 37 00 35 00 00 00 00 00 00 00 00 00</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649782</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0x1113b8be</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649783</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: EEPROM info:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649784</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: AC97 audio (5 sample rates)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649785</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: 500mA max power</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.649787</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: Table at 0&#215;27, strings=0x409e, 0x1cde, 0x346a</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.651195</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: Identified as Terratec Hybrid XS (em2882) (card=55)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.680950</span><span class="br0">&#93;</span> IR RC5<span class="br0">&#40;</span>x<span class="br0">&#41;</span> protocol handler initialized</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.830073</span><span class="br0">&#93;</span> IR RC6 protocol handler initialized</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.841212</span><span class="br0">&#93;</span> tvp5150 <span class="nu0">7</span>-005c: chip found <span class="sy0">@</span> 0xb8 <span class="br0">&#40;</span>em28xx <span class="co0">#0)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">65.999598</span><span class="br0">&#93;</span> IR JVC protocol handler initialized</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">66.091946</span><span class="br0">&#93;</span> tuner <span class="nu0">7</span><span class="nu0">-0061</span>: chip found <span class="sy0">@</span> 0xc2 <span class="br0">&#40;</span>em28xx <span class="co0">#0)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">66.101982</span><span class="br0">&#93;</span> IR Sony protocol handler initialized</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">66.120234</span><span class="br0">&#93;</span> xc2028 <span class="nu0">7</span><span class="nu0">-0061</span>: creating new instance</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">66.120236</span><span class="br0">&#93;</span> xc2028 <span class="nu0">7</span><span class="nu0">-0061</span>: <span class="kw3">type</span> <span class="kw1">set</span> to XCeive xc2028<span class="sy0">/</span>xc3028 tuner</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">66.120243</span><span class="br0">&#93;</span> usb <span class="nu0">2</span><span class="nu0">-5</span>: firmware: requesting xc3028-v27.fw</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">66.486604</span><span class="br0">&#93;</span> xc2028 <span class="nu0">7</span><span class="nu0">-0061</span>: Loading <span class="nu0">80</span> firmware images from xc3028-v27.fw, <span class="kw3">type</span>: xc2028 firmware, ver <span class="nu0">2.7</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">66.550020</span><span class="br0">&#93;</span> xc2028 <span class="nu0">7</span><span class="nu0">-0061</span>: Loading firmware <span class="kw1">for</span> <span class="re2">type=</span>BASE MTS <span class="br0">&#40;</span><span class="nu0">5</span><span class="br0">&#41;</span>, <span class="kw2">id</span> <span class="nu0">0000000000000000</span>.</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">67.489940</span><span class="br0">&#93;</span> xc2028 <span class="nu0">7</span><span class="nu0">-0061</span>: Loading firmware <span class="kw1">for</span> <span class="re2">type=</span>MTS <span class="br0">&#40;</span><span class="nu0">4</span><span class="br0">&#41;</span>, <span class="kw2">id</span> 000000000000b700.</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">67.505325</span><span class="br0">&#93;</span> xc2028 <span class="nu0">7</span><span class="nu0">-0061</span>: Loading SCODE <span class="kw1">for</span> <span class="re2">type=</span>MTS LCD NOGD MONO IF SCODE HAS_IF_4500 <span class="br0">&#40;</span>6002b004<span class="br0">&#41;</span>, <span class="kw2">id</span> 000000000000b700.</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">67.880020</span><span class="br0">&#93;</span> Registered IR keymap rc-terratec-cinergy-xs</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">67.880096</span><span class="br0">&#93;</span> input: em28xx IR <span class="br0">&#40;</span>em28xx <span class="co0">#0) as /devices/pci0000:00/0000:00:04.1/usb2/2-5/rc/rc0/input7</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">67.880153</span><span class="br0">&#93;</span> rc0: em28xx IR <span class="br0">&#40;</span>em28xx <span class="co0">#0) as /devices/pci0000:00/0000:00:04.1/usb2/2-5/rc/rc0</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">67.880536</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: Config register raw data: 0xd0</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">67.881284</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: AC97 vendor ID = 0xffffffff</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">67.881825</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: AC97 features = 0x6a90</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">67.881826</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: Empia 202 AC97 audio processor detected</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.080397</span><span class="br0">&#93;</span> tvp5150 <span class="nu0">7</span>-005c: tvp5150am1 detected.</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.180765</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: v4l2 driver version 0.1.2</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.297206</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: V4L2 video device registered as video1</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.297208</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: V4L2 VBI device registered as vbi0</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.297799</span><span class="br0">&#93;</span> usbcore: registered new interface driver em28xx</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.297802</span><span class="br0">&#93;</span> em28xx driver loaded</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.383814</span><span class="br0">&#93;</span> em28xx-audio.c: probing <span class="kw1">for</span> em28x1 non standard usbaudio</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.383816</span><span class="br0">&#93;</span> em28xx-audio.c: Copyright <span class="br0">&#40;</span>C<span class="br0">&#41;</span> <span class="nu0">2006</span> Markus Rechberger</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.384166</span><span class="br0">&#93;</span> Em28xx: Initialized <span class="br0">&#40;</span>Em28xx Audio Extension<span class="br0">&#41;</span> extension</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.450494</span><span class="br0">&#93;</span> tvp5150 <span class="nu0">7</span>-005c: tvp5150am1 detected.</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.772282</span><span class="br0">&#93;</span> xc2028 <span class="nu0">7</span><span class="nu0">-0061</span>: attaching existing instance</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.772285</span><span class="br0">&#93;</span> xc2028 <span class="nu0">7</span><span class="nu0">-0061</span>: <span class="kw3">type</span> <span class="kw1">set</span> to XCeive xc2028<span class="sy0">/</span>xc3028 tuner</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.772287</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: em28xx #0/2: xc3028 attached</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.772289</span><span class="br0">&#93;</span> DVB: registering new adapter <span class="br0">&#40;</span>em28xx <span class="co0">#0)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.772291</span><span class="br0">&#93;</span> DVB: registering adapter <span class="nu0">0</span> frontend <span class="nu0">0</span> <span class="br0">&#40;</span>Zarlink ZL10353 DVB-T<span class="br0">&#41;</span>&#8230;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.772535</span><span class="br0">&#93;</span> em28xx <span class="co0">#0: Successfully loaded em28xx-dvb</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.772540</span><span class="br0">&#93;</span> Em28xx: Initialized <span class="br0">&#40;</span>Em28xx dvb Extension<span class="br0">&#41;</span> extension</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span> &nbsp; <span class="nu0">68.950459</span><span class="br0">&#93;</span> tvp5150 <span class="nu0">7</span>-005c: tvp5150am1 detected.</div>
</li>
</ol>
</div>
<p>Puis utiliser votre logiciel préféré Me tv ou kaffeine, &#8230;. pour profiter de la TV.</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=849">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/ubuntu/tnt-em2882-et-mise-a-jour-du-kernel-dubuntu/" rel="bookmark" title="Permanent Link: TNT em2882 et Mise a jour du kernel d&#8217;ubuntu &#8230;">TNT em2882 et Mise a jour du kernel d&#8217;ubuntu &#8230;</a></li><li><a href="http://blog.gaetan-grigis.eu/ubuntu/cle-tnt-cinergy-xs-em2882-et-ibex/" rel="bookmark" title="Permanent Link: Clé TNT Cinergy XS (em2882) et Ibex">Clé TNT Cinergy XS (em2882) et Ibex</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/script-de-mise-a-jour-du-driver-em2882/" rel="bookmark" title="Permanent Link: Script de mise à jour du driver em2882">Script de mise à jour du driver em2882</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/gresillement-du-driver-em28xx-et-kernel-2-6-28-sur-ubuntu-9-04/" rel="bookmark" title="Permanent Link: Grésillement du driver em28xx et kernel 2.6.28 sur ubuntu 9.04">Grésillement du driver em28xx et kernel 2.6.28 sur ubuntu 9.04</a></li><li><a href="http://blog.gaetan-grigis.eu/ubuntu/controller-sa-carte-wifi-atheros-sous-ubuntu-lucid/" rel="bookmark" title="Permanent Link: Controller sa carte wifi atheros sous ubuntu Lucid">Controller sa carte wifi atheros sous ubuntu Lucid</a></li></ul><hr /><small>Copyright &copy; 2008-2010 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/ubuntu/driver-em2882-pour-cle-usb-tnt-cingery-t-et-ubuntu-10-04/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Iodine et DNS Tunneling</title>
		<link>http://blog.gaetan-grigis.eu/systeme/iodine-et-dns-tunneling/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/iodine-et-dns-tunneling/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 08:43:57 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Système]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[iodine]]></category>
		<category><![CDATA[route]]></category>
		<category><![CDATA[tunneling]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=843</guid>
		<description><![CDATA[Plop à tous &#8230; Aujourd&#8217;hui, encore du DNS Tunneling &#8230; et cette fois avec iodine, un soft écrit en C, beaucoup plus puissant que les autres scripts en perl comme dnstunnel et ozymandns que j&#8217;ai présenté sur mon blog, qui permet des connexions en parallèles, ce qui permet un chargement plus rapide des pages web, [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;</p>
<p>Aujourd&#8217;hui, encore du DNS Tunneling &#8230; et cette fois avec <a href="http://code.kryo.se/iodine/">iodine</a>, un soft écrit en C, beaucoup plus puissant que les autres scripts en perl comme <a href="http://blog.gaetan-grigis.eu/systeme/administration/dns-tunneling-par-la-pratique/">dnstunnel</a> et <a href="http://blog.gaetan-grigis.eu/systeme/tunnel-ssh-via-le-protocole-dns/">ozymandns</a> que j&#8217;ai présenté sur mon blog, qui permet des connexions en parallèles, ce qui permet un chargement plus rapide des pages web, par contre, comme ça utilise le protocole DNS, le débit peut seulement aller jusqu&#8217;à 20-30 ko/s donc c&#8217;est assez limité.<br />
Mais ça permet d&#8217;utiliser la plupart des bornes d&#8217;accès ouvert de type Neuf Wifi/FreeWifi qui force l&#8217;utilisation de leurs services pour utiliser la borne wifi sans avoir à fournir de couple login/pass valide ^^.<br />
<span id="more-843"></span></p>
<p>Comme pour les 2 autres systèmes de dns tunneling présenté, il vous faut un serveur extérieur avec un serveur DNS (cf la config <a href="http://blog.gaetan-grigis.eu/systeme/administration/dns-tunneling-par-la-pratique/">présenté ici</a>) et le logiciel iodine :</p>
<p>Sur le serveur donc (en utilisant la config DNS de l&#8217;autre lien) :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">apt-get <span class="kw2">install</span> iodine</div>
</li>
<li class="li1">
<div class="de1">iodined <span class="nu0">172.16</span><span class="nu0">.0</span><span class="nu0">.0</span> -l votreIP -u nobody -P UnMotDePasse tunnel.domaine.org</div>
</li>
</ol>
</div>
<p>172.16.0.0 est la plage IP qui sera fournit par le soft (on peut prendre 10.x.x.x ou 192.168.x.x)<br />
le -l est là pour spécifier l&#8217;ip sur laquelle écouter<br />
le -u est là pour dropper les droits<br />
-P est là pour spécifier un mot de passe (histoire d&#8217;empecher les autres de profiter de ce service)<br />
tunnel.domaine.org, et le nom du sous domaine en NS qui sera utilisé.</p>
<p>Sur le client :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">apt-get <span class="kw2">install</span> iodine</div>
</li>
<li class="li1">
<div class="de1">iodine -P UnMotDePasse tunnel.domaine.org</div>
</li>
</ol>
</div>
<p>Et normalement on est connecté &#8230; le seul problème, c&#8217;est que le soft ne spécifie aucune route à part celle de son réseau, il faut donc les spécifier :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">route del default</div>
</li>
<li class="li1">
<div class="de1">route -host ipDuDNSFournitParLaBorne gw ipDuGatewayFournitParLaBorne</div>
</li>
<li class="li1">
<div class="de1">route add default gw <span class="nu0">172.16</span><span class="nu0">.0</span><span class="nu0">.1</span></div>
</li>
</ol>
</div>
<p>Ce qui supprime la route par défaut, force l&#8217;utilisation du gateway fournit par la borne pour l&#8217;accès au serveur DNS, puis route tout le traffic restant sur le gateway du tunnel &#8230;</p>
<p>Le gros problème est de faire cette manipulation à chaque connexion à un réseau wifi, j&#8217;ai donc fait un script pour automatiser ça en détectant le DNS et le Gateway fournit, puis en effectuant les remplacements et qui remet tout en place une fois que l&#8217;on termine la connexion :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="co0">#!/bin/bash</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">IOBIN=</span><span class="st0">&quot;/usr/sbin/iodine&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">IODOM=</span><span class="st0">&quot;tunnel.domaine.org&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">IOPAS=</span><span class="st0">&quot;UnMotDePasse&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">IOMTU=</span><span class="st0">&quot;1188&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">IODEV=</span><span class="st0">&quot;dns0&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">IOIP=</span><span class="st0">&quot;172.16.0.1&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#FIN EDITION</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">DNS=</span>`<span class="kw2">cat</span> <span class="sy0">/</span>etc<span class="sy0">/</span>resolv.conf <span class="sy0">|</span>egrep -v <span class="st0">&quot;^#&quot;</span><span class="sy0">|</span> <span class="kw2">head</span> <span class="nu0">-1</span><span class="sy0">|</span>awk <span class="st0">&#39;{print $2}&#39;</span>`</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">GW=</span>`<span class="kw2">netstat</span> -rn<span class="sy0">|</span>egrep <span class="st0">&quot;^0.0.0.0&quot;</span><span class="sy0">|</span>tr -s <span class="st0">&quot; &quot;</span> <span class="st0">&quot; &quot;</span><span class="sy0">|</span>cut -d <span class="st0">&quot; &quot;</span> -f2` </div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;Lancement de $IOBIN avec les options demandées&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$IOBIN</span> -P <span class="re1">$IOPAS</span> -m <span class="re1">$IOMTU</span> <span class="re1">$IODOM</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;Remplacement des routes&quot;</span></div>
</li>
<li class="li1">
<div class="de1">route del default</div>
</li>
<li class="li1">
<div class="de1">route add -host <span class="re1">$DNS</span> gw <span class="re1">$GW</span></div>
</li>
<li class="li1">
<div class="de1">route add default gw <span class="re1">$IOIP</span> <span class="re1">$IODEV</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;***********************************&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;Appuyer sur une touche pour terminer la connexion&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">read</span> yornot </div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">killall</span> <span class="nu0">-9</span> <span class="re1">$IOBIN</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;Remise en place des routes&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#route del default</span></div>
</li>
<li class="li1">
<div class="de1">route del -host <span class="re1">$DNS</span></div>
</li>
<li class="li1">
<div class="de1">route add default gw <span class="re1">$GW</span></div>
</li>
</ol>
</div>
<p>Il suffit ensuite de le configurer avec vos options et de l&#8217;executer en root pour profiter des bornes wifi gratos &#8230; Bien sûr la seule utilitée de cette méthode est de se connecter rapidement au net au détriment du débit que l&#8217;on aurait après avoir cracké une borne wifi WEP/WPA &#8230;</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=843">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/mes-applicationsscripts/" rel="bookmark" title="Permanent Link: Mes Applications/Scripts">Mes Applications/Scripts</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/dns-tunneling-par-la-pratique/" rel="bookmark" title="Permanent Link: DNS Tunneling par la pratique">DNS Tunneling par la pratique</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/tunnel-ssh-via-le-protocole-dns/" rel="bookmark" title="Permanent Link: Tunnel SSH via le protocole DNS">Tunnel SSH via le protocole DNS</a></li></ul><hr /><small>Copyright &copy; 2008-2010 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/iodine-et-dns-tunneling/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gérer ses routes IP pour ses VPN (via NetworkManager et route)</title>
		<link>http://blog.gaetan-grigis.eu/systeme/gerer-ses-routes-ip-pour-ses-vpn-via-networkmanager-et-route/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/gerer-ses-routes-ip-pour-ses-vpn-via-networkmanager-et-route/#comments</comments>
		<pubDate>Mon, 31 May 2010 21:24:58 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Système]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[network manager]]></category>
		<category><![CDATA[route]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=830</guid>
		<description><![CDATA[Plop à tous &#8230; Juste pour faire un autre article ce mois-ci ^^ &#8230; Je vais parler des routes IP, pour gérer par exemple plusieurs VPN ou plusieurs connexions à internet. Rien de compliqué bien sûr, juste un truc que j&#8217;oubli assez souvent et que j&#8217;utilise assez rarement &#8230; Mon accès à internet ce fait [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;</p>
<p>Juste pour faire un autre article ce mois-ci ^^ &#8230; Je vais parler des routes IP, pour gérer par exemple plusieurs VPN ou plusieurs connexions à internet. Rien de compliqué bien sûr, juste un truc que j&#8217;oubli assez souvent et que j&#8217;utilise assez rarement &#8230;</p>
<p><span id="more-830"></span></p>
<p>Mon accès à internet ce fait généralement par des VPNs (mon dédié pour les trucs top secret, itsHidden, IPRED et co. pour les choses pas très orthodoxe), malheureusement, la latence est trop élevé pour pouvoir jouer à des FPS/MMORPG, il a donc fallut ajouter quelques règles de routages pour utiliser mon routeur comme gateway pour l&#8217;accès à mes jeux favoris &#8230;</p>
<p>Dans le cas le plus simple (celui que je vais présenter), on veut gérer une connexion à internet + une connexion VPN, deux solutions sont possible pour le routage :</p>
<ol>
<li>Utiliser notre connexion à internet comme gateway et rediriger le traffic nécessitant le chiffrement par routage (sympa si l&#8217;on ne veut pas tout chiffrer)</li>
<li>Utiliser le VPN comme gateway et router le traffic nécessitant une latence plus faible (sympa si l&#8217;on veut tout chiffrer)</li>
</ol>
<p>Je vais utiliser l&#8217;interface du Network Manager qui permet de sauvegarder nos routes pour chaque configurationVPN différentes, ce qui peut s&#8217;avérer utile si vous en avez plusieurs. Sinon, je présenterai rapidement les commandes routes pour ajouter une route pour un host ou un subnet (mais il faudra les ré-exécuter à chaque fois).</p>
<h1>Le premier cas</h1>
<p>Par défaut, si l&#8217;on utilise le NetworkManager pour la gestion des VPN, il remplace directement la route par défaut par celle du VPN(si il est configuré pour être un gateway), ce que nous ne voulons pas &#8230; on peut ignorer les routes fournit par le service de VPN en allant dans le menu &laquo;&nbsp;configuration de VPN&nbsp;&raquo; de NM, et suivre les séquences de clic ci-dessous ou l&#8217;on peut forcer à n&#8217;utiliser que le VPN pour les ressources de son réseaux en cliquant sur la checkBox en dessous du 3  :<a href="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/05/Seelection_005.png"><img class="size-full wp-image-831  aligncenter" title="Sélection_005" src="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/05/Seelection_005.png" alt="" width="577" height="641" /></a><br />
Ce qui nous permettra de garder nos routes et l&#8217;ip fournit par notre FAI pour notre connexion à internet en général : ATTENTION, LE VPN NE SERA PAS UTILISé jusqu&#8217;à ce que vous ayez configuré vos routes &#8230;</p>
<p>Imaginons maintenant que nous voulons utiliser les services du VPN pour certaines IP en particulier genre pour notre test : utiliser l&#8217;ip du VPN pour se connecter à mon-ip.com (80.247.226.90), ajouter la route en ligne de commande ce fait comme suit :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> route add -host <span class="nu0">80.247</span><span class="nu0">.226</span><span class="nu0">.90</span> gw <span class="br0">&#91;</span>ip <span class="kw2">du</span> gateway <span class="kw2">du</span> serveur VPN<span class="br0">&#93;</span></div>
</li>
</ol>
</div>
<p>On peut bien sûr utiliser une plage IP en remplaçant -host par -net et fournir un netmask assez large (selon la taille du réseau généralement).</p>
<p>Network Manager n&#8217;étant pas trop mal foutu, on peut gérer nos routes par l&#8217;interface que nous avons vu sur l&#8217;image ci-dessus, ce qui donne, pour le cas de mon-ip.com via 10.0.0.1 qui est l&#8217;ip de mon VPN :<br />
<a href="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/05/Seelection_0061.png"><img class="aligncenter" title="Sélection_006" src="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/05/Seelection_0061.png" alt="" width="528" height="275" /></a></p>
<div>Il faudra ensuite se connecter au service de VPN pour que les changements soient valides, et l&#8217;accès à mon-ip.com passera donc par notre VPN <strong>(les modifications ne sont pas prises directement en compte &#8230;)</strong>. C&#8217;est bien entendu un cas bidon &#8230; généralement, on utilise ce type de configuration pour un accès au réseau locale d&#8217;entreprises pour accéder à des services bien particulier, tout en gardant notre connexion à internet pour le reste.</div>
<div>On peut supprimer cette configuration par ligne de commande :</div>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> route del -host <span class="nu0">80.247</span><span class="nu0">.226</span><span class="nu0">.90</span> gw <span class="br0">&#91;</span>ip <span class="kw2">du</span> gateway <span class="kw2">du</span> serveur VPN<span class="br0">&#93;</span></div>
</li>
</ol>
</div>
<p>Ou en cliquant sur supprimer dans l&#8217;interface ci-dessus &#8230;</p>
<h1>Cas numéro deux</h1>
<div>On veut faire l&#8217;inverse, utiliser notre VPN pour toutes les connexions à internet, et notre connexion à internet pour accéder à mon-ip.com &#8230; En fait c&#8217;est le cas le plus simple si l&#8217;on à très peu de services à utiliser avec notre véritable IP (c&#8217;est mon cas &#8230;), on reprend donc notre interface de configuration du VPN :</div>
<div><a href="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/05/Seelection_007.png"><img class="aligncenter size-full wp-image-834" title="Sélection_007" src="http://cdn-blog-loupzeur.appspot.com/wp-content/uploads/2010/05/Seelection_007.png" alt="" width="528" height="275" /></a>On vérifie que les deux checkbox soient décochés, et on remplace la passerelle par celle de notre réseau, chez moi 192.168.0.1. On valide, on se connecte au VPN (se déconnecter si on l&#8217;était déjà), et l&#8217;accès à mon-ip.com se fait par notre IP à nous, alors que si l&#8217;on accède à www.whatismyip.com, l&#8217;accès se fera pas notre VPN &#8230;</div>
<div></div>
<h1>Cas pratique</h1>
<div>Bien sûr les cas représentés ici étaient bidon et appliqués aux VPN, un cas pratique d&#8217;utilisation des routes sur une connexion &laquo;&nbsp;normale&nbsp;&raquo; peut être l&#8217;utilisation du réseau wifi du voisin pour dl comme un porc (utilisation de sa passerelle comme passerelle par défaut) et définir des règles de routages pour utiliser notre connexion à internet (par rj45 ou &#8230;) pour les FPS et les accès privés qui seront beaucoup plus rapide <img src='http://cdn-blog-loupzeur.appspot.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</div>
<div></div>
<div>Bien entendu je n&#8217;incite personne à faire ça (sans l&#8217;autorisation du voisin ^^).</div>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=830">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/systeme/iodine-et-dns-tunneling/" rel="bookmark" title="Permanent Link: Iodine et DNS Tunneling">Iodine et DNS Tunneling</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/utiliser-google-app-pour-gerer-son-domaine/" rel="bookmark" title="Permanent Link: Utiliser Google App pour gérer son Domaine">Utiliser Google App pour gérer son Domaine</a></li><li><a href="http://blog.gaetan-grigis.eu/ubuntu/synchroniser-le-calendrier-evolution-et-google-agenda/" rel="bookmark" title="Permanent Link: Synchroniser le calendrier Evolution et Google Agenda">Synchroniser le calendrier Evolution et Google Agenda</a></li><li><a href="http://blog.gaetan-grigis.eu/securite/onioncat-howto/" rel="bookmark" title="Permanent Link: OnionCat Howto">OnionCat Howto</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/ajax/gerer-les-accents-en-ajax/" rel="bookmark" title="Permanent Link: Gérer les accents en Ajax">Gérer les accents en Ajax</a></li></ul><hr /><small>Copyright &copy; 2008-2010 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/gerer-ses-routes-ip-pour-ses-vpn-via-networkmanager-et-route/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Controller sa carte wifi atheros sous ubuntu Lucid</title>
		<link>http://blog.gaetan-grigis.eu/ubuntu/controller-sa-carte-wifi-atheros-sous-ubuntu-lucid/</link>
		<comments>http://blog.gaetan-grigis.eu/ubuntu/controller-sa-carte-wifi-atheros-sous-ubuntu-lucid/#comments</comments>
		<pubDate>Sat, 08 May 2010 20:10:50 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[10.04]]></category>
		<category><![CDATA[ath9k]]></category>
		<category><![CDATA[atheros]]></category>
		<category><![CDATA[lucid]]></category>
		<category><![CDATA[madwifi]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=827</guid>
		<description><![CDATA[Bijour &#8230; Depuis la mise à jour d&#8217;ubuntu 10.04, le driver madwifi n&#8217;est plus disponible, seul le driver ath9k est proposé, il n&#8217;est donc plus possible d&#8217;utiliser la sympatique commande wlanconfig qui permettait de créer de nouvelles interfaces wifi dans différent modes. Ce qui était super utile pour créer un fake ap utilisant 2 cartes [...]]]></description>
			<content:encoded><![CDATA[<p>Bijour &#8230;</p>
<p>Depuis la mise à jour d&#8217;ubuntu 10.04, le driver madwifi n&#8217;est plus disponible, seul le driver ath9k est proposé, il n&#8217;est donc plus possible d&#8217;utiliser la sympatique commande wlanconfig qui permettait de créer de nouvelles interfaces wifi dans différent modes.<br />
<span id="more-827"></span><br />
Ce qui était super utile pour créer un <a href="http://www.hak5.org/episodes/episode-705">fake ap</a> utilisant 2 cartes wifi :</p>
<ul>
<li>une pour le fake AP</li>
<li>une seconde connecté à un autre réseau wifi sur lequel on redirige le traffic</li>
</ul>
<p>Le nouvel utilitaire de gestion des périphériques atheros se nomme iw (sûrement en référence à l&#8217;outil iwconfig &#8230;)</p>
<p>Un petit man vous permettra de trouver ceci : </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">dev <span class="sy0">&lt;</span>devname<span class="sy0">&gt;</span> interface add <span class="sy0">&lt;</span>name<span class="sy0">&gt;</span> <span class="kw3">type</span> <span class="sy0">&lt;</span>type<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
<p>Qui s&#8217;utilise de la façon suivante pour créer une interface nommée fake en mode monitor :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">iw dev wlan0 interface add fake <span class="kw3">type</span> monitor</div>
</li>
</ol>
</div>
<p>Un coup de iwconfig renverra si tout c&#8217;est bien passé :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">fake &nbsp; &nbsp; &nbsp;IEEE <span class="nu0">802</span>.11bgn &nbsp;Mode:Monitor &nbsp;Frequency:<span class="nu0">2.412</span> GHz &nbsp;Tx-<span class="re2">Power=</span><span class="nu0">20</span> dBm &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Retry &nbsp;long limit:<span class="nu0">7</span> &nbsp; RTS thr:off &nbsp; Fragment thr:off</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Power Management:off</div>
</li>
</ol>
</div>
<p>Et la nouvelle interface est donc prête à l&#8217;emploi&#8230;, pour plus d&#8217;informations sur la commandes iw, la <a href="http://wireless.kernel.org/en/users/Documentation/iw">doc du site</a> est est un peu plus détaillée.</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=827">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/ubuntu/wifi-ou-3g-tethering-sur-cyanogenmod-via-bluetooth-ou-usb/" rel="bookmark" title="Permanent Link: Wifi ou 3G tethering sur cyanogenmod via Bluetooth ou USB">Wifi ou 3G tethering sur cyanogenmod via Bluetooth ou USB</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/bt3-dans-les-bacs-les-hackeurs-vont-se-regaler/" rel="bookmark" title="Permanent Link: BT3 dans les bacs &#8230; les hackeurs vont se régaler">BT3 dans les bacs &#8230; les hackeurs vont se régaler</a></li><li><a href="http://blog.gaetan-grigis.eu/ubuntu/ubuntu-beta/" rel="bookmark" title="Permanent Link: Ubuntu beta &#8230;">Ubuntu beta &#8230;</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/iodine-et-dns-tunneling/" rel="bookmark" title="Permanent Link: Iodine et DNS Tunneling">Iodine et DNS Tunneling</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/gresillement-du-driver-em28xx-et-kernel-2-6-28-sur-ubuntu-9-04/" rel="bookmark" title="Permanent Link: Grésillement du driver em28xx et kernel 2.6.28 sur ubuntu 9.04">Grésillement du driver em28xx et kernel 2.6.28 sur ubuntu 9.04</a></li></ul><hr /><small>Copyright &copy; 2008-2010 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/ubuntu/controller-sa-carte-wifi-atheros-sous-ubuntu-lucid/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Récupération de données après suppression (grep et dd)</title>
		<link>http://blog.gaetan-grigis.eu/systeme/recuperation-de-donnees-apres-suppression-grep-et-dd/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/recuperation-de-donnees-apres-suppression-grep-et-dd/#comments</comments>
		<pubDate>Sun, 02 May 2010 15:44:37 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Système]]></category>
		<category><![CDATA[dd]]></category>
		<category><![CDATA[données]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[récupération]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=821</guid>
		<description><![CDATA[Plop à tous &#8230; Aujourd&#8217;hui forensic , le but est de récupérer des données supprimées (via rm ou d&#8217;autres commandes &#8216;NON destructive&#8217; de type shred). La version longue et en anglais de ce que je vais raconter là. Pour ceux qui l&#8217;ignorait (comme moi), avec grep il est possible de forcer une recherche texte sur [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;</p>
<p>Aujourd&#8217;hui forensic <img src='http://cdn-blog-loupzeur.appspot.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> , le but est de récupérer des données supprimées (via rm ou d&#8217;autres commandes &#8216;NON destructive&#8217; de type shred). La <a href="http://kreotekdev.wordpress.com/2007/10/22/undeleting-files-from-an-ext3-partition/">version longue</a> et en anglais de ce que je vais raconter là.<br />
<span id="more-821"></span></p>
<p>Pour ceux qui l&#8217;ignorait (comme moi), avec grep il est possible de forcer une recherche texte sur des données brutes (y compris des disques dur donc), ce qui peut permettre de récupérer des données après suppression &#8230; comme c&#8217;est une recherche texte, vous imaginé bien qu&#8217;il ne peut s&#8217;agir uniquement de fichier texte du style la configuration de votre serveur apache, la sauvegarde du dump sql de la semaine (repiqué de l&#8217;article fournit en lien <img src='http://cdn-blog-loupzeur.appspot.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ). </p>
<p>Donc n&#8217;imaginez pas récupérer des images avec ça (regarder plutôt du côté de foremost ou photorec).</p>
<p>Côté commande donc, il suffira de grep et de dd, installé par défaut sur toute bonne distrib unix.</p>
<p>Pour le grep, il suffit de rajouter le paramètre -a (ou &#8211;binary-files=text), le paramètre b pour afficher les bytes, puis de spécifier le fichier brut de données (image extraite par dd, ou un /dev/ directement).</p>
<p>Pour l&#8217;exemple, j&#8217;ai supprimé mon fichier xorg.conf (aaaarrrrggggghhh Nannn), connaissant la structure du fichier, et sachant qu&#8217;il se trouvait dans mon /dev/sda2, je peux lancer la commande suivante :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> <span class="kw2">grep</span> -a -b <span class="st0">&#39;Section &quot;Monitor&quot;&#39;</span> <span class="sy0">/</span>dev<span class="sy0">/</span>sda2 <span class="sy0">&gt;</span> ~<span class="sy0">/</span>xorgRecup</div>
</li>
</ol>
</div>
<p>Dans le fichier xorgRecup<br />
J&#8217;aurais une ligne de type (byte de l&#8217;emplacement:texte trouvé) :</p>
<pre>
1756337329:Section "Monitor"
</pre>
<p>Si je veux récupérer les lignes suivantes et précédentes, je peux jouer avec le paramètre -A m (after) et -B n (before) de grep, qui me renverront les m lignes après ou les n lignes avant ma recherche, mais comme j&#8217;ai déjà récupéré l&#8217;emplacement sur mon disque dur en bytes, je peux directement extraire mon fichier via dd (avec plus ou moins de précision &#8230; surtout moins en fait ^^).</p>
<p>Mais il faut tout d&#8217;abord savoir combien de bloc il faut skip lors de la récupération de notre fichier avec dd.</p>
<p>On divise donc le nombre de bytes trouvés par grep (chez moi 1756337329) par le nombre de bytes par block pour notre système de fichier, chez moi : 512. Ce qui donne pour mon exemple : 1756337329 / 512 = 3430346, puis il faut rajouter 63 (c&#8217;est le nombre de secteurs par tête, mais ça dépend aussi de l&#8217;emplacement de votre recherche, si il est en début ou en fin de cylindre, donc + ou &#8211; 63).</p>
<p>Mon dd ressemble à ceci :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> <span class="kw2">dd</span> <span class="re2">if=</span><span class="sy0">/</span>dev<span class="sy0">/</span>sda2 <span class="re2">of=</span>testReco <span class="re2">skip=</span><span class="nu0">3430409</span> <span class="re2">count=</span><span class="nu0">1000</span> <span class="re2">bs=</span><span class="nu0">512</span></div>
</li>
</ol>
</div>
<p>et au final, j&#8217;ai un fichier assez crade de 500Ko, qui contient à quelques lignes près mon fichier xorg &#8230; Je suis sauvé!!!!</p>
<p>Certes, j&#8217;aurais pu reconfigurer mon xorg, mais là n&#8217;était pas la question <img src='http://cdn-blog-loupzeur.appspot.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  &#8230;</p>
<p>Pour des fichiers textes, la récupération des données n&#8217;est pas aussi complexe que je le pensais &#8230;<br />
Mais sur des SF de types ext3 et ext4, il faut procéder à la récupération des données extrêmement vite, car les octets libérés sont déclarés libre et risque d&#8217;être utilisé dès l&#8217;écriture d&#8217;un nouveau fichier, et dans ce cas, les données seront irrécupérable &#8230;</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=821">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/systeme/analyse-automatisee-des-logs-apache/" rel="bookmark" title="Permanent Link: Analyse automatisée des logs apache">Analyse automatisée des logs apache</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/vivre-dangeureusement-sur-ubuntu-ou-pas-visudo/" rel="bookmark" title="Permanent Link: Vivre dangeureusement sur ubuntu ou pas (visudo)">Vivre dangeureusement sur ubuntu ou pas (visudo)</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/automatiser-la-recuperation-et-la-compilation-du-kernel-et-de-son-patch-grsec/" rel="bookmark" title="Permanent Link: Automatiser la récupération et la compilation du kernel et de son patch GrSec">Automatiser la récupération et la compilation du kernel et de son patch GrSec</a></li><li><a href="http://blog.gaetan-grigis.eu/mes-applicationsscripts/" rel="bookmark" title="Permanent Link: Mes Applications/Scripts">Mes Applications/Scripts</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/attaque-de-sites-et-script-php-c99shell/" rel="bookmark" title="Permanent Link: Attaque de sites et Script php C99Shell">Attaque de sites et Script php C99Shell</a></li></ul><hr /><small>Copyright &copy; 2008-2010 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/recuperation-de-donnees-apres-suppression-grep-et-dd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utiliser plusieurs certificats SSL sur un seul serveur apache</title>
		<link>http://blog.gaetan-grigis.eu/systeme/administration/utiliser-plusieurs-certificats-ssl-sur-un-seul-serveur-apache/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/administration/utiliser-plusieurs-certificats-ssl-sur-un-seul-serveur-apache/#comments</comments>
		<pubDate>Sat, 01 May 2010 10:19:35 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[indication]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sni]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[startssl]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=815</guid>
		<description><![CDATA[Plop à tous &#8230; Le but de l&#8217;article du jour est d&#8217;utiliser plusieurs certificats SSL sur une même machine via le SNI (ce qui était impossible il y a quelques années de cela cf. wikipedia, le premier patch étant sorti en 2004, les premières implémentation sur les serveurs apache se sont fait sur la version [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;</p>
<p>Le but de l&#8217;article du jour est d&#8217;utiliser plusieurs certificats SSL sur une même machine via le SNI (ce qui était impossible il y a quelques années de cela cf. <a href="http://en.wikipedia.org/wiki/Server_Name_Indication">wikipedia</a>, le premier patch étant sorti en 2004, les premières implémentation sur les serveurs apache se sont fait sur la version 2.2.12 en Juillet 2009).<br />
<span id="more-815"></span><br />
Depuis peu donc, on peut s&#8217;amuser à installer plusieurs certificats SSL, mais ça nécessite un tout petit peu de configuration (vraiment un tout petit peu en fait).</p>
<p>Les outils nécessaire :</p>
<ul>
<li>Des certificats SSL (de préférences valide <a href="https://www.startssl.com/">c&#8217;est gratos chez startSSL</a>)</li>
<li>Un serveur apache de version 2.2.12 ou supérieur</li>
<li>La librairie openssl 0.9.8j ou supérieur</li>
</ul>
<p>La configuration niveau apache (il faut bien entendu avoir activer le mod ssl), et copier les fichiers crt et key que vous on fournit vos fournisseurs de certificats sur le serveur dans un dossier accessible à apache (chez moi /etc/apache2/cert/).</p>
<p>il faut modifier la config &laquo;&nbsp;/etc/apache2/ports.conf&nbsp;&raquo; et faire en sorte que le ifmodule du mod_ssl ressemble à ça :</p>
<div class="geshi no config">
<ol>
<li class="li1">
<div class="de1">&lt;IfModule mod_ssl.c&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; NameVirtualHost *:443
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; Listen 443
</div>
</li>
<li class="li1">
<div class="de1">&lt;/IfModule&gt;</div>
</li>
</ol>
</div>
<p>Généralement, le NameVirtualHost n&#8217;est pas mis dans la configuration par défaut, il faut donc le rajouter.</p>
<p>Puis enfin créer le fichier de configuration s&#8217;occupant de vos certificats et de les servir suivant le nom de domaine demandé (chez moi blog.gaetan-grigis.eu et un-autre-sous-domaine.gaetan-grigis.eu).</p>
<div class="geshi no configuration">
<ol>
<li class="li1">
<div class="de1">&lt;VirtualHost *:443&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;ServerName blog.gaetan-grigis.eu
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;DocumentRoot /var/www/blog
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLEngine on
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLProtocol all -SSLv2
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCertificateFile /etc/apache2/cert/blog.crt
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCertificateKeyFile /etc/apache2/cert/blog.key
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.ca.crt
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCACertificateFile /etc/apache2/cert/ca.crt
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SetEnvIf User-Agent &quot;.*MSIE.*&quot; nokeepalive ssl-unclean-shutdown
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;CustomLog /var/log/apache2/ssl_request.log \
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &quot;%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \&quot;%r\&quot; %b&quot;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/VirtualHost&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;VirtualHost *:443&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;ServerName un-autre-sous-domaine.gaetan-grigis.eu
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;DocumentRoot /var/www/un-autre-sous-domaine
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLEngine on
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLProtocol all -SSLv2
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCertificateFile /etc/apache2/cert/un-autre-sous-domaine.crt
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCertificateKeyFile /etc/apache2/cert/un-autre-sous-domaine.key
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.ca.crt
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCACertificateFile /etc/apache2/cert/ca.crt
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SetEnvIf User-Agent &quot;.*MSIE.*&quot; nokeepalive ssl-unclean-shutdown
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;CustomLog /var/log/apache2/ssl_request.log \
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &quot;%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \&quot;%r\&quot; %b&quot;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/VirtualHost&gt;</div>
</li>
</ol>
</div>
<p>Et voilà, si vous avez utilisé StartSSL, vous avez accès à deux sous-domaines différents avec des certificats valide différent sur une seule et même machine &#8230; elle est pas belle la vie ?? (La vie d&#8217;un geek est passionnante en effet <img src='http://cdn-blog-loupzeur.appspot.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</p>
<p>PS : On peut bien sûr en créer autant qu&#8217;on veut, c&#8217;est pas limité à deux sous-domaines. <img src='http://cdn-blog-loupzeur.appspot.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=815">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/systeme/des-certificats-ssl-gratuit-pour-vos-sites-web/" rel="bookmark" title="Permanent Link: Des certificats SSL gratuit et valide pour vos sites web">Des certificats SSL gratuit et valide pour vos sites web</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/partage-de-fichiers-en-ecriture-sur-protocole-http/" rel="bookmark" title="Permanent Link: Partage et ecriture de fichiers sur protocole HTTP">Partage et ecriture de fichiers sur protocole HTTP</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/la-nouvelle-annee-commence-bien/" rel="bookmark" title="Permanent Link: La nouvelle année commence bien ^^">La nouvelle année commence bien ^^</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration-de-serveurs-apache-virtualhost/" rel="bookmark" title="Permanent Link: Administration de serveurs apache : virtualhost">Administration de serveurs apache : virtualhost</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/php-programmation/mon-depot-svn-de-sources-inutiles/" rel="bookmark" title="Permanent Link: Mon dépôt SVN de sources inutiles">Mon dépôt SVN de sources inutiles</a></li></ul><hr /><small>Copyright &copy; 2008-2010 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/administration/utiliser-plusieurs-certificats-ssl-sur-un-seul-serveur-apache/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
