<?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>JoPa.Fr &#187; Internet</title>
	<atom:link href="http://www.jopa.fr/index.php/tag/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jopa.fr</link>
	<description>001100010BIDOUILLE11101010111100010LIBRE1000100111100101</description>
	<lastBuildDate>Sat, 31 Jul 2010 19:52:34 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Evolus Pencil Project &#8211; Des dessins d&#8217;IHM en quelques clics&#8230;</title>
		<link>http://www.jopa.fr/index.php/2010/07/31/evolus-pencil-project-des-dessins-dihm-en-quelques-clics/</link>
		<comments>http://www.jopa.fr/index.php/2010/07/31/evolus-pencil-project-des-dessins-dihm-en-quelques-clics/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 19:52:34 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Logiciels Libres]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=2357</guid>
		<description><![CDATA[Pour les phases d&#8217;analyse ou l&#8217;écriture de spécifications pour des projets logiciels, j&#8217;étais à la recherche d&#8217;un outil permettant de dessiner, bêtement et rapidement, des maquettes d&#8217;écrans, de formulaires ou de page web. Ce type d&#8217;application ne manque pas parmi les logiciels commerciaux, mais n&#8217;est pas forcément facile à dénicher dans le monde libre. Bien [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2010/07/evolus_pencil.png"><img class="alignleft size-full wp-image-2358" title="evolus_pencil" src="http://www.jopa.fr/wp-content/uploads/2010/07/evolus_pencil.png" alt="" width="294" height="204" /></a>Pour les phases d&#8217;analyse ou l&#8217;écriture de spécifications pour des projets logiciels, j&#8217;étais à la recherche d&#8217;un outil permettant de dessiner, bêtement et rapidement, des maquettes d&#8217;écrans, de formulaires ou de page web. Ce type d&#8217;application ne manque pas parmi les logiciels commerciaux, mais n&#8217;est pas forcément facile à dénicher dans le monde libre.</p>
<p style="text-align: justify;">Bien sûr, nous pouvons toujours nous en sortir avec <a title="Dia" href="http://projects.gnome.org/dia/" target="_blank">Dia</a>, <a href="http://www.inkscape.org/?lang=fr" target="_blank">Inkscape</a>, <a href="http://www.openoffice.org/" target="_blank">Openoffice</a> ou <a href="http://www.tuxpaint.org/?lang=fr" target="_blank">tout autre logiciel</a> permettant le tracé de formes géométriques, mais le fait de de disposer de modèles de composants (widgets), à l&#8217;échelle, facilement positionables et alignables apportent un confort non négligeable.</p>
<p style="text-align: justify;">Vous l&#8217;avez compris, <em><a href="http://pencil.evolus.vn" target="_blank">Evolus </a></em><em><a href="http://pencil.evolus.vn" target="_blank">Pencil Project</a> </em>rempli parfaitement ce rôle.</p>
<p style="text-align: center;"><span id="more-2357"></span></p>
<p style="text-align: justify;"><em>Pencil Project, </em>à ne pas confondre avec l&#8217;outil de dessin et d&#8217;animation 2D du même nom (<a href="http://www.pencil-animation.org/" target="_blank">pencil</a>),<em> </em>est une extension <em>Firefox</em>, développée sous <a href="http://www.gnu.org/licenses/gpl.html" target="_blank">licence GPL</a> par la société Vietnamienne <a href="http://www.evolus.vn/" target="_blank">Evolus</a>. Elle est tout de même disponible en version &laquo;&nbsp;<em>standalone</em>&laquo;&nbsp;, grâce à une exécution avec Xulrunner.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">L&#8217;interface est sobre et la prise en main extrêmement rapide. L&#8217;application est fournie avec plusieurs styles de &laquo;&nbsp;<em>widgets</em>&nbsp;&raquo; qui s&#8217;intègrent dans votre maquette par un simple glissé / déposé. Des guides dynamiques aident au positionnement des composants. Les principales fonctions de dessin vectoriel sont disponibles (dessus, dessous, alignement, agrandissement, rotation, etc&#8230;) et permettent de <em>fignoler </em>la mise en page pour un résultat très propre.</p>
<p style="text-align: justify;">
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/07/pencil.png"><img class="aligncenter size-full wp-image-2364" title="pencil" src="http://www.jopa.fr/wp-content/uploads/2010/07/pencil.png" alt="" width="460" height="354" /></a></p>
<p style="text-align: center;"><span style="color: #333399;"><em><span style="color: #800000;">Copie d&#8217;écran</span></em></span></p>
<p style="text-align: justify;">L&#8217;enregistrement des fichier se fait sous l&#8217;extension &laquo;&nbsp;.ep&nbsp;&raquo;, un format XML propre à <em>Evolus Pencil.</em> Pour la réutilisation d&#8217;un dessin dans un document ou tout simplement pour l&#8217;impression, il faut passer par un export au format <a href="http://http://fr.wikipedia.org/wiki/Portable_Network_Graphics" target="_blank">PNG</a>. Des exports vers d&#8217;autres formats (OpenOffice, Word, PDF, &#8230; ) sont prévus moyennant l&#8217;ajout de &laquo;&nbsp;templates&nbsp;&raquo;. A ce jour, je n&#8217;ai pas exploré cette piste, le format <em>PNG</em> me convenant parfaitement. Je regrette juste l&#8217;impossibilité d&#8217;imprimer directement depuis l&#8217;application.</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/07/Cotations.png"><img class="size-full wp-image-2360  aligncenter" title="Cotations" src="http://www.jopa.fr/wp-content/uploads/2010/07/Cotations.png" alt="" width="504" height="635" /></a></p>
<p style="text-align: center;"><span style="color: #800000;"><em>Exemple de maquette  ( le message d&#8217;erreur a été vu sur : </em></span><a href="http://www.risacher.com/la-rache" target="_blank"><span style="color: #800000;"><em>http://www.risacher.com/la-rache</em></span></a><span style="color: #800000;"><em> )</em></span></p>
<p style="text-align: left;">
<p style="text-align: center;">
<p style="text-align: left;"><strong>Lien :</strong></p>
<p style="text-align: center;"><a href="http://pencil.evolus.vn"><img class="size-full wp-image-2393 aligncenter" title="stencil_logo" src="http://www.jopa.fr/wp-content/uploads/2010/07/stencil_logo1.png" alt="" width="407" height="274" /></a></p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2010/07/31/evolus-pencil-project-des-dessins-dihm-en-quelques-clics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Limiter la bande passante avec &#171;&#160;Trickle&#160;&#187;</title>
		<link>http://www.jopa.fr/index.php/2010/07/17/limiter-la-bande-passante-avec-trickle/</link>
		<comments>http://www.jopa.fr/index.php/2010/07/17/limiter-la-bande-passante-avec-trickle/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 16:43:47 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=2171</guid>
		<description><![CDATA[Depuis mon précédent billet sur les services de stockage en ligne, j&#8217;ai eu l&#8217;occasion de mettre en  place plusieurs solutions de synchronisation basées sur Unison (du type de MyOne). Ce système me sert entre autre à sauvegarder et échanger des fichiers de façon transparente avec des machines distantes Le problème principal de système, tel qu&#8217;il est [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/reseau_cable_jopa.jpg"><img class="size-medium wp-image-2202 alignleft" title="reseau_cable_jopa" src="http://www.jopa.fr/wp-content/uploads/2010/06/reseau_cable_jopa-300x225.jpg" alt="" width="300" height="225" /></a>Depuis mon<a href="http://www.jopa.fr/index.php/2010/06/08/dropbox-ubuntu-one-myone-unison-and-co/"> précédent billet</a> sur les services de stockage en ligne, j&#8217;ai eu l&#8217;occasion de mettre en  place plusieurs solutions de synchronisation basées sur Unison (du type de <a href="http://kik-it.homelinux.org/index.php?entry=entry090918-131841" target="_blank">MyOne</a>). Ce système me sert entre autre à sauvegarder et échanger des fichiers de façon transparente avec des machines distantes</p>
<p style="text-align: justify;">Le problème principal de système, tel qu&#8217;il est décrit, est l&#8217;absence de maîtrise de la bande passante utilisée&#8230; Quand les &laquo;&nbsp;synchros&nbsp;&raquo; se mettent en route, la connexion Internet en prend un coup, souvent au dépend d&#8217;autres services. En bref, &laquo;&nbsp;ça rame dur !&nbsp;&raquo;.</p>
<p style="text-align: justify;">Une bonne solution pour ne pas pénaliser l&#8217;utilisation courante du réseau serait de gérer de la <a href="http://fr.wikipedia.org/wiki/Qualit%C3%A9_de_service" target="_blank">QoS (qualité de service)</a>, mais ça reste assez lourd à mettre en place&#8230; La gestion de la QoS au sein d&#8217;un réseau fera très probablement l&#8217;objet d&#8217;un prochain billet. En attendant, je vais aborder une solution très simple, qui permet de limiter la bande passante au niveau des clients.</p>
<p style="text-align: justify;"><span id="more-2171"></span></p>
<p style="text-align: justify;">&laquo;&nbsp;<a href="http://monkey.org/~marius/pages/?page=trickle" target="_blank">Trickle</a>&nbsp;&raquo; est un gestionnaire de bande passante en espace utilisateur. Dans son utilisation la plus simple, il permet de lancer une commande en limitant sa bande passante montante (<em>upload</em>)  ou descendante (<em>download</em>), avec, respectivement, les options &#8216;<strong>-u</strong>&#8216; et &#8216;<strong>-d</strong>&#8216;.</p>
<p style="text-align: justify;">L&#8217;exemple suivant va lancer &laquo;&nbsp;<em>wget</em>&nbsp;&raquo; (pour télécharger les sources d&#8217;un noyau linux depuis kernel.org) en limitant l&#8217;utilisation de la bande passante à 20 Ko/s :</p>
<p><span style="color: #800000;">$ trickle -d 20 wget -c  ﻿http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.35-rc3.tar.bz2</span></p>
<p style="text-align: justify;">Autre exemple : l&#8217;utilisation d&#8217;<em>unison</em> pour synchroniser un dossier via ssh en limitant le débit montant à 10 Ko/s et le débit descendant à 30 Ko/s.</p>
<p><span style="color: #800000;">$ trickle -u 10 -d 30 unison ~/JopaOne ssh://joel@monserveur.jopa.fr//home/joel/JopaOne</span></p>
<p style="text-align: justify;">Trickle peut fonctionner en mode &laquo;&nbsp;collaboratif&nbsp;&raquo; grâce à un démon : trickled, qui peut, lui aussi, être lancé en espace utilisateur. Contrairement à l&#8217;utilisation précédente, la limitation n&#8217;est plus définie pour chaque commande mais  la bande passante maximale est passée en paramètres au démon et partagée par toutes les instances de trickle.</p>
<p><span style="color: #800000;">$ trickled -u 10 -d 30 ﻿<br />
</span><span style="color: #800000;"><br />
$ trickle unison /home/joel/JopaOne ssh://joel@monserveur.jopa.fr//home/joel/JopaOne -batch </span></p>
<p><span style="color: #800000;">$ trickle wget -c  ﻿http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.35-rc3.tar.bz2</span></p>
<p>Si besoin, il est également possible de prioriser certaines applications par rapport à d&#8217;autres pour ce partage de ressources. Je vous renvoie vers le man ou le site du projet pour la liste des options et paramètres disponibles.</p>
<p>Lien :</p>
<p><a href="http://monkey.org/~marius/pages/?page=trickle" target="_blank">Trickle (http://monkey.org/~marius/pages/?page=trickle)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2010/07/17/limiter-la-bande-passante-avec-trickle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A &#171;&#160;Tor&#160;&#187; et à travers (d&#8217;Internet)&#8230;</title>
		<link>http://www.jopa.fr/index.php/2010/06/26/tor_privoxy_anonymat/</link>
		<comments>http://www.jopa.fr/index.php/2010/06/26/tor_privoxy_anonymat/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 20:33:19 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1986</guid>
		<description><![CDATA[En quelques mots, Tor (The Onion Router) est un réseau permettant la transmission anonyme de paquets TCP au travers d&#8217;internet&#8230; &#8230;Au lieu d&#8217;emprunter un itinéraire direct entre la source et la destination, les paquets de données suivent une trajectoire aléatoire à travers plusieurs relais&#8230; La suite de ce billet donne une brève introduction à Tor [...]]]></description>
			<content:encoded><![CDATA[<h2><a href="http://www.jopa.fr/wp-content/uploads/2010/06/Tor-logo.png"><img class="size-full wp-image-1988 alignleft" title="Tor-logo" src="http://www.jopa.fr/wp-content/uploads/2010/06/Tor-logo.png" alt="" width="300" height="236" /></a>En quelques mots,</h2>
<p style="text-align: justify;"><a href="http://www.torproject.org/index.html.fr">Tor</a> (The Onion Router) est un réseau permettant la transmission anonyme de paquets TCP au travers d&#8217;internet&#8230;</p>
<blockquote>
<p style="text-align: justify;">&#8230;Au lieu d&#8217;emprunter un itinéraire direct entre la source et la destination, les paquets de données suivent une trajectoire aléatoire à travers plusieurs relais&#8230;</p>
</blockquote>
<p style="text-align: justify;">La suite de ce billet donne une brève introduction à <em>Tor</em> et à son principe de fonctionnement, pour finir par un exemple pratique d&#8217;installation et d&#8217;utilisation.</p>
<p style="text-align: justify;"><span id="more-1986"></span></p>
<h2>Comment ça marche ?</h2>
<p style="text-align: justify;">Après interrogation d&#8217;un serveur <em>Tor</em>, le client reçoit une liste de noeuds. Il construit alors un chemin aléatoire au travers, de telle sorte que chaque relais ne connaisse que l&#8217;adresse de son prédécesseur et de son successeur. Aucun noeud ne connait à lui seul le chemin complet.</p>
<p style="text-align: justify;">
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/reseau_tor.png"><img class="aligncenter size-full wp-image-1994" title="reseau_tor" src="http://www.jopa.fr/wp-content/uploads/2010/06/reseau_tor.png" alt="" width="560" height="470" /></a></p>
<p style="text-align: justify;">Un nouveau chemin sera recalculé régulièrement.</p>
<p style="text-align: justify;">Pour garantir sa confidentialité dès le départ, un paquet tcp est chiffré &laquo;&nbsp;en couches&nbsp;&raquo; successives avec la clef publique de chaque noeud, en commençant par le dernier&#8230;</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/chiffrement.png"><img class="aligncenter size-full wp-image-1997" title="chiffrement" src="http://www.jopa.fr/wp-content/uploads/2010/06/chiffrement.png" alt="" width="322" height="233" /></a></p>
<p style="text-align: justify;">Lorsque le paquet parcours son chemin, chaque couche de chiffrement sera enlevée par son noeud respectif, jusqu&#8217;au dernier, qui transmettra alors le paquet en clair au serveur destinataire. Je vous laisse faire l&#8217;analogie avec l&#8217;oignon&#8230; Même si mon schéma est un peu &laquo;&nbsp;carré&nbsp;&raquo;.</p>
<p style="text-align: justify;">Il faut être conscient, cependant, que <em>Tor</em> a ses limites : Il gère seulement le transport des paquets TCP et n&#8217;assure pas de protection en <em>UDP</em>. Protocole utilisé entre autres pour les requêtes DNS. De plus, une page <em>web</em> peut récolter directement des informations privées (dont l&#8217;adresse IP), directement auprès du navigateur, par l&#8217;utilisation de Javascript ou la lecture de cookies.</p>
<p style="text-align: justify;">Pour la navigation Web, on va généralement coupler Tor  à un serveur mandataire (<em>proxy</em>) tel que <em>privoxy</em>. Ce dernier va faire l&#8217;interface entre le navigateur et Tor, tout en fournissant un filtrage anonymisant supplémentaire (gestion des cookies, des accès, suppression des pubs, etc&#8230;).</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/proxy.png"><img class="size-full wp-image-2000  aligncenter" title="proxy" src="http://www.jopa.fr/wp-content/uploads/2010/06/proxy.png" alt="" width="265" height="163" /></a></p>
<h2>En pratique</h2>
<p style="text-align: justify;"><em>Tor</em> est disponible sous licence BSD et facilement installable pour la majorité des distributions Linux et BSD. Il est également disponible pour de nombreuses plateformes telles que Windows, OSX ou Androïd&#8230; si si !).</p>
<p style="text-align: justify;"><strong>Sous Ubuntu 10.4 :</strong></p>
<pre><span style="color: #800000;"> # echo "deb http://deb.torproject.org/torproject.org lucid main" &gt;
         /etc/apt/sources.list.d/tor.list
 # gpg --keyserver keys.gnupg.net --recv 886DDD89
 # gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add -
 # apt-get update
 # apt-get install tor privoxy
. </span></pre>
<p>Un (tout) petit peu de configuration&#8230;</p>
<pre>/etc/privoxy/config/</pre>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1986code2'); return false;">View Code</a> CONFIG</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p19862"><td class="code" id="p1986code2"><pre class="config" style="font-family:monospace;">...
#  Décommenter la ligne suivante pour connecter Privoxy à Tor
forward-socks5   /               127.0.0.1:9050 .
...
# Il peut être judicieux de commenter la ligne suivante pour
# que les logs ne soient pas écrits.
# logfile logfile
...</pre></td></tr></table></div>

<p style="text-align: justify;">On redémarre tout ça :</p>
<pre><span style="color: #800000;"> # /etc/init.d/tor restart
 # /etc/init.d/privoxy restart</span></pre>
<p style="text-align: justify;">Privoxy doit ensuite être déclaré comme proxy dans les préférences du navigateur ou directement dans les préférences réseaux de Gnome. Dans l&#8217;exemple, nous avons bien une installation locale (127.0.0.1) et le port laissé par défaut (8118).</p>
<p style="text-align: justify;">
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/Capture-Paramètres-de-connexion-1.png"><img class="size-medium wp-image-2032  aligncenter" title="Capture-Paramètres de connexion-1" src="http://www.jopa.fr/wp-content/uploads/2010/06/Capture-Paramètres-de-connexion-1-300x257.png" alt="" width="300" height="257" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: center;">
<p style="text-align: justify;">Le premier indice permettant de conclure que la configuration est bonne est la lenteur de la navigation. Le passage au travers du réseau Tor ne se fait pas sans perte de performances&#8230;</p>
<p style="text-align: justify;">Le second peut se trouver sur la page : <em>http://www.monip.org,</em> qui ne devrait plus retourner notre adresse IP publique, mais celle du dernier relai traversé.</p>
<h2>Au delà de la navigation</h2>
<p style="text-align: justify;">Au delà de la navigation web et des services pris en charge par le proxy, TOR est capable de sécuriser les connexions d&#8217;autres services grâce à la commande &laquo;&nbsp;<strong>torify</strong>&laquo;&nbsp;. Par exemple, la commande suivante permet une connexion <em>ssh</em> à travers le réseau <em>Tor</em>.</p>
<p style="text-align: justify;"><span style="color: #800000;">$ torify ssh mon.serveur.public.et.fictif.com</span></p>
<p style="text-align: justify;">Voilà pour un petit tour rapide au pays de <em>Tor</em>&#8230; Pour (beaucoup) plus d&#8217;informations, je vous conseille de visiter le site officiel du projet et sa page Wikipédia.</p>
<p style="text-align: justify;">Liens :</p>
<ul>
<li><a href="http://www.torproject.org/overview.html.fr">Tor Project</a>,</li>
<li><a href="http://fr.wikipedia.org/wiki/Tor_(r%C3%A9seau)">Wikipedia &#8211; Tor (Réseau),</a></li>
<li><a href="http://www.privoxy.org/">Privoxy</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2010/06/26/tor_privoxy_anonymat/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DropBox, Ubuntu One, MyOne (unison) and Co</title>
		<link>http://www.jopa.fr/index.php/2010/06/08/dropbox-ubuntu-one-myone-unison-and-co/</link>
		<comments>http://www.jopa.fr/index.php/2010/06/08/dropbox-ubuntu-one-myone-unison-and-co/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 16:33:28 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[fichiers]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sauvegarde]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1907</guid>
		<description><![CDATA[Les services de stockage en ligne, tels que Ubuntu One ou DropBox fleurissent depuis quelques temps sur la toile&#8230;  Il est vrai qu&#8217;ils s&#8217;avèrent bien pratiques, pour peu qu&#8217;on ne soit pas trop regardant sur les contraintes de sécurité. Ces deux applications sont très similaires et proposent, entre autre, un espace de stockage en ligne [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Les services de stockage en ligne, tels que <a title="Ubuntu One" href="https://one.ubuntu.com/" target="_blank">Ubuntu One</a> ou <a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">DropBox</a> fleurissent depuis quelques temps sur la toile&#8230;  Il est vrai qu&#8217;ils s&#8217;avèrent bien pratiques, pour peu qu&#8217;on ne soit pas trop regardant sur les contraintes de sécurité.</p>
<p style="text-align: center;"><a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5"><img class="size-full wp-image-1924  aligncenter" title="logo_drop_box" src="http://www.jopa.fr/wp-content/uploads/2010/06/logo_drop_box.png" alt="" width="231" height="60" /></a></p>
<p style="text-align: justify;">Ces deux applications sont très similaires et proposent, entre autre, un espace de stockage en ligne de 2 Go, dans une version de base gratuite, ainsi que des options payantes permettant d&#8217;étendre la capacité à 50 Go ou plus. A ce jour, il faut compter un peu moins de 10 € par mois pour 50 Go. <a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">Dropbox</a> propose un système de parrainage qui vous fera gagner 250 Mo supplémentaires chaque fois que vous parrainez une nouvel inscrit (dans la limite de 8Go).</p>
<p style="text-align: justify;"><span id="more-1907"></span></p>
<p style="text-align: justify;">Les fichiers sont accessibles depuis n&#8217;importe quel ordinateur connecté à Internet via une interface web. Ceci n&#8217;est pas pour déplaire à Mamie,  qui se voit rassurée de pouvoir sauvegarder ses précieuses recettes de cuisine à l&#8217;abri d&#8217;un incendie ou de je ne sais quelle autre catastrophe domestique.</p>
<p style="text-align: center;"><a href="https://one.ubuntu.com/"><img class="aligncenter size-full wp-image-1912" title="ubuntu_one1" src="http://www.jopa.fr/wp-content/uploads/2010/06/ubuntu_one12.jpg" alt="" width="848" height="509" /></a></p>
<p style="text-align: justify;">L&#8217;installation d&#8217;un logiciel client sur un ou plusieurs postes va permettre de synchroniser un répertoire local avec l&#8217;espace de stockage en ligne. Ainsi, un fichier ajouté dans ce dossier sera automatiquement ajouté par synchronisation dans l&#8217;espace en ligne.  Ce dernier se synchronisera à son tour avec les autres machines sur lequel le client est installé. C&#8217;est très pratique pour Mamie, qui peut taper sa recette de cookies au chocolats sur l&#8217;ordinateur de son bureau et l&#8217;emporter à son club de cuisine sur son <em>Ipad</em> automatiquement synchronisé &#8211; Qu&#8217;elle frimeuse cette mamie &#8211;   Pour cela, je dois préciser qu&#8217;elle a une préférence pour <a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">DropBox</a>, porté sur de nombreux systèmes, contrairement à <a href="https://one.ubuntu.com/" target="_self">Ubuntu One</a>, qui reste encore limité à un environnement Ubuntu.</p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_1937" class="wp-caption  aligncenter" style="width: 489px;">
<dt class="wp-caption-dt"><a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5"><img class="size-full wp-image-1937  " title="tour_1" src="http://www.jopa.fr/wp-content/uploads/2010/06/tour_1.jpg" alt="Source : www.dropbox.com" width="479" height="380" /></a></dt>
</dl>
</div>
<p style="text-align: center;"><em>Image : Dropbox.com</em></p>
<p style="text-align: justify;">Enfin, parmi les multiples utilisations possibles, nous trouvons bien entendu la possibilité de partager des fichiers ou des dossiers avec d&#8217;autres utilisateurs. Très pratique pour Mamie, qui peut diffuser, à toute la famille, les photos de ses pâtisseries qu&#8217;elle prend en 10 MégaPixel grâce à son réflex numérique.</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/Capture-jopa - Navigateur-de-fichiers.png"><img class="aligncenter size-full wp-image-1917" title="Capture-jopa - Navigateur de fichiers" src="http://www.jopa.fr/wp-content/uploads/2010/06/Capture-jopa - Navigateur-de-fichiers.png" alt="" width="584" height="358" /></a></p>
<p style="text-align: justify;">Outre la capacité limitée dans les versions gratuites, le fait que les fichiers soient stockés en clair, on ne sais où, peut-être perturbant. Il est bien sûr possible de chiffrer les données avant leur stockage, mais il faut bien avouer que ce n&#8217;est pas très pratique.</p>
<p style="text-align: justify;">Sachant que des outils libres, tels qu&#8217; <em><a title="Unison" href="http://www.cis.upenn.edu/~bcpierce/unison/" target="_blank">unison</a>, </em>on largement fait leurs preuves en matière de synchronisation, l&#8217;idée de construire ma propre architecture &laquo;&nbsp;JopaOne&nbsp;&raquo; m&#8217;a traversé l&#8217;esprit. C&#8217;est alors que je suis tombé sur <a href="http://kik-it.homelinux.org/index.php?entry=entry090918-131841" target="_blank">le tuto de KIK-IT : UbuntuOne VS MyOne</a>, décrivant exactement ce que je souhaitais faire : Un espace de stockage sur un de mes serveurs et des répertoires locaux sur mes différentes machines, le tout synchronisé grâce à <em>unision</em>,  de préférence à travers <em>ssh</em>&#8230;</p>
<p style="text-align: justify;">Pour conclure et je pense que Mamie sera d&#8217;accord avec moi, ma préférence va vers <em>DropBox </em>pour le partage de fichiers non sensibles avec les amis. Ce dernier est plus abouti qu&#8217;<em>Ubuntu One </em>et bien plus rapide pour  les synchronisation. La disponibilité du client sous de multiples plateforme est un de ses atouts majeurs&#8230; Mamie nous fait remarquer que le client &laquo;&nbsp;<a href="http://fr.wikipedia.org/wiki/Android">Androïd</a>&nbsp;&raquo; est très sympathique pour ajouter son Smartphone</p>
<p style="text-align: justify;">Pour la synchronisation de documents entre mes machines, j&#8217;ai préféré une solution basée sur <em>Unison et ssh&#8230; </em>Il n&#8217;y a pas a dire, on est bien plus tranquille quand les fichiers sont sur un serveur bien à nous&#8230;</p>
<p><strong>Liens : </strong></p>
<ul>
<li><a href="http://one.ubuntu.com/" target="_blank">Ubuntu One</a></li>
<li><a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">DropBox</a></li>
<li><a href="http://kik-it.homelinux.org/index.php?entry=entry090918-131841">MyOne (KIK-IT</a>)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2010/06/08/dropbox-ubuntu-one-myone-unison-and-co/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Prism : Le navigateur pour vos applications WEB</title>
		<link>http://www.jopa.fr/index.php/2009/10/04/prism-le-navigateur-pour-vos-applications-web/</link>
		<comments>http://www.jopa.fr/index.php/2009/10/04/prism-le-navigateur-pour-vos-applications-web/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 16:15:15 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Logiciels Libres]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1827</guid>
		<description><![CDATA[Les applications WEB, comme leur nom l&#8217;indique, sont utilisées grâce à un navigateur WEB (ça c&#8217;est de l&#8217;introduction&#8230;n&#8217;est-ce pas !). De nombreux problèmes d&#8217;utilisation sont souvent inhérents aux boutons de navigation et aux menus offerts par le navigateur. Pour prendre un exemple : un utilisateur va, par habitude, préférer cliquer sur le bouton &#171;&#160;Page Précédente&#160;&#187; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft size-full wp-image-1828" title="prism-header" src="http://www.jopa.fr/wp-content/uploads/2009/10/prism-header.png" alt="prism-header" width="149" height="178" />Les applications WEB, comme leur nom l&#8217;indique, sont utilisées grâce à un navigateur WEB (ça c&#8217;est de l&#8217;introduction&#8230;n&#8217;est-ce pas !). De nombreux problèmes d&#8217;utilisation sont souvent inhérents aux boutons de navigation et aux menus offerts par le navigateur. Pour prendre un exemple : un utilisateur va, par habitude, préférer cliquer sur le bouton &laquo;&nbsp;Page Précédente&nbsp;&raquo; du navigateur, plutôt que sur le bouton &laquo;&nbsp;Annuler&nbsp;&raquo; prévu dans un formulaire. Sans le savoir, il va aller à l&#8217;encontre du scénario imaginé par le développeur et mettre en déroute l&#8217;application. Les bons développeurs prévoient ce genre d&#8217;interactions me direz-vous&#8230; Ce n&#8217;est malheureusement pas toujours la cas.</p>
<p style="text-align: justify;">Ceux qui, comme moi, déploient ce genre de services dans leur entreprise et n&#8217;en peuvent plus de passer leur temps à démêler des utilisateurs adeptes du cliquage  intempestif, rêvent d&#8217;un navigateur sans barre d&#8217;adresse, sans menus et sans boutons de navigation. Vous en rêviez ? <a title="http://www.mozilla.org/" href="http://www.mozilla.org/">Mozilla</a> l&#8217;a fait !</p>
<p style="text-align: justify;"><span id="more-1827"></span></p>
<p style="text-align: justify;"><a title="http://labs.mozilla.com/prism/" href="http://labs.mozilla.com/prism/" target="_blank">Mozilla Prism</a> permet d&#8217;ouvrir  un site prédéfini dans une fenêtre dédiée et sans éléments superflus tels que la barre d&#8217;adresses, les menus ou les boutons de navigation. L&#8217;application étant démarrée depuis une raccourci créé sur le bureau (ou ailleurs). <em>Prism </em>utilise le même moteur que <a title="http://www.mozilla-europe.org/fr/firefox/" href="http://www.mozilla-europe.org/fr/firefox/" target="_blank">Firefox</a> (<a title="https://developer.mozilla.org/fr/Gecko" href="https://developer.mozilla.org/fr/Gecko">Gecko</a>), ce qui le rend compatible avec les extensions et plugins de ce dernier. Enfin,comme la majorité des produits <em>Mozilla</em>, <em>Prism</em> est disponible pour les principales plateformes systèmes : <em>Windows</em>, <em>Mac OsX</em> et bien sûr <em>Linux</em>.</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-1831" title="Capture-Prism - Mozilla Labs-1" src="http://www.jopa.fr/wp-content/uploads/2009/10/Capture-Prism-Mozilla-Labs-1.png" alt="Capture-Prism - Mozilla Labs-1" width="389" height="296" /></p>
<p style="text-align: justify;">Lors de son exécution,  une simple boîte de dialogue permet de configurer l&#8217;accès à la page web, quelques éléments de la fenêtre de navigation et la création d&#8217;un raccourci. Ce dernier, permettra ensuite d&#8217;accéder directement à l&#8217;application.</p>
<p style="text-align: center;"><img class="aligncenter size-large wp-image-1835" title="Capture" src="http://www.jopa.fr/wp-content/uploads/2009/10/Capture1-1024x664.png" alt="Capture" width="459" height="298" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/10/04/prism-le-navigateur-pour-vos-applications-web/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Hé m&#8217;sieur m&#8217;sieur, moi aussi j&#8217;veux surfer plus vite avec Chromium !</title>
		<link>http://www.jopa.fr/index.php/2009/05/18/compiler-google-chrome/</link>
		<comments>http://www.jopa.fr/index.php/2009/05/18/compiler-google-chrome/#comments</comments>
		<pubDate>Mon, 18 May 2009 00:43:11 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Surf]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1289</guid>
		<description><![CDATA[&#171;&#160;Chromium&#160;&#187; est le projet à la base du nouveau navigateur à la mode : Google Chrome&#8230; Même ma tatie en parle et  il est tellement bien que si tu l&#8217;as pas&#8230; Pfeu ! T&#8217;es vraiment, mais alors vraiment has-been&#8230;  La version Linux étant en développement, il n&#8217;est pas évident de trouver des binaires facilement utilisables, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignright size-full wp-image-1290" title="chromium-logo" src="http://www.jopa.fr/wp-content/uploads/2009/05/chromium-logo.png" alt="chromium-logo" width="145" height="64" />&laquo;&nbsp;Chromium&nbsp;&raquo; est le projet à la base du nouveau navigateur à la mode : <em>Google Chrome</em>&#8230; Même ma tatie en parle et  il est tellement bien que si tu l&#8217;as pas&#8230; Pfeu ! T&#8217;es vraiment, mais alors vraiment <a title="http://hasbeen.free.fr/" href="http://hasbeen.free.fr/">has-been</a>&#8230;  La version Linux étant en développement, il n&#8217;est pas évident de trouver des binaires facilement utilisables, mais comme le projet se veut Open-Source, nous allons pouvoir nous coller à sa compilation&#8230; Puis finalement, en bons geeks que nous sommes, nous aimons bien compiler des trucs&#8230;<br />
<span id="more-1289"></span><br />
Nous allons commencer par installer quelques paquets indispensables au bon déroulement des opérations :</p>
<p><span style="color: #800000;">$ sudo apt-get install subversion pkg-config python perl g++ bison flex gperf libnss3-dev libgtk2.0-dev libnspr4-0d libnspr4-dev msttcorefonts libgconf2-dev libcairo2-dev libdbus-1-dev<br />
</span><br />
Si comme moi, vous jouissez d&#8217;une distribution 64 bits :</p>
<p><span style="color: #800000;">$ sudo apt-get install gcc-multilib g++-multilib gobjc-multilib gobjc++-multilib</span></p>
<p>Et en option :</p>
<p><span style="color: #800000;">$ sudo apt-get install wdiff lighttpd php5-cgi sun-java6-fonts</span></p>
<p>Nous allons ensuite installer les utilitaires nécessaires pour l&#8217;accès au<em> SVN</em> google ( depot tools ) :<br />
<span style="color: #800000;"><br />
$ mkdir CHROME<br />
$ cd CHROME<br />
$ svn co http://src.chromium.org/svn/trunk/tools/depot_tools</span></p>
<p>Et récupérer les sources :</p>
<p><span style="color: #993300;">$ </span><span style="color: #800000;"><span style="color: #993300;">export LANG=C</span><br />
$ depot_tools/gclient config http://src.chromium.org/svn/trunk/src http://chromium-status.appspot.com/lkgr<br />
$ depot_tools/gclient sync</span></p>
<p><em>gclient</em> va rapatrier un peu plus de 3 Go ( C&#8217;est que ce n&#8217;est pas du code de fillette tout ça ! ) &#8230;</p>
<p><span style="color: #808080;">Révision 43806 extraite.</span></p>
<p><span style="color: #808080;">________ running &#8216;/usr/bin/python src/tools/gyp/gyp_dogfood src/build/all.gyp&#8217; in &#8216;/usr/local/src/CHROME<br />
Updating projects from gyp files&#8230;</span></p>
<p>A ce stade, j&#8217;en suis à me demander comment, avec un code source de 3Go, je vais obtenir un navigateur réputé pour sa légèreté et sa rapidité d&#8217;exécution&#8230; Même si, par défaut, les sources incluent toutes les plateformes, les librairies utilisées et tout un tas de bazard&#8230;</p>
<p>Pour le savoir, le mieux est de lancer la compil :</p>
<p><span style="color: #993300;">$  cd src/build<br />
$ ../../depot_tools/hammer</span></p>
<p>Par defaut, <em>chromium</em> est compilé en mode debug et c&#8217;est plutôt logique pour une version de developpement. Pour forcer le mode release :</p>
<p><span style="color: #800000;">$ ../../depot_tools/hammer &#8211;mode=Release</span></p>
<p><span style="color: #993300;"><span style="color: #000000;">Les binaires sont placés dans le répertoire<em> src/sconsbuild/debug</em> ou <em>srv/sconsbuild/release</em> suivant le mode compilé.</span></span></p>
<p><span style="color: #800000;">$ CHROME/src/sconsbuild/release/chrome</span></p>
<p><span style="color: #000000;">Comme vous le verrez sur la page de démarrage, ornée d&#8217;un immanquable panneau stop rouge, le navigateur est en version <em>pre-alpha</em>&#8230; En bref, ne vous attendez pas à quelque chose de très stable&#8230;</span></p>
<p><img class="aligncenter size-full wp-image-1298" title="capture-chromium-alpha-warning-chromium" src="http://www.jopa.fr/wp-content/uploads/2009/05/capture-chromium-alpha-warning-chromium.png" alt="capture-chromium-alpha-warning-chromium" width="640" height="701" /></p>
<p>Pour plus d&#8217;informations, vous pouvez consulter les instruction de compilation, sur le <a title="http://code.google.com/p/chromium/wiki/LinuxBuildInstructions" href="http://code.google.com/p/chromium/wiki/LinuxBuildInstructions">wiki officiel : http://code.google.com/p/chromium/wiki/LinuxBuildInstructions</a></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1300" title="capture-new-tab-chromium" src="http://www.jopa.fr/wp-content/uploads/2009/05/capture-new-tab-chromium.png" alt="capture-new-tab-chromium" width="512" height="384" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/05/18/compiler-google-chrome/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Clé 3G+ ICON 225 sur PC et sans Windows&#8230;</title>
		<link>http://www.jopa.fr/index.php/2008/11/18/cle-3g-icon-225-sur-pc-et-sans-windows/</link>
		<comments>http://www.jopa.fr/index.php/2008/11/18/cle-3g-icon-225-sur-pc-et-sans-windows/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 00:09:33 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=800</guid>
		<description><![CDATA[Sans faire de pub, Orange propose des accès 3G+ sans abonnement et sans engagement : &#171;&#160;Pass Internet Everywhere&#160;&#187;. La clé et sa carte sim ne sont pas hors de prix : 29 € (59 € &#8211; 30 € remboursés), contrairement aux communications qui elles, ne sont pas  vraiment données (3 € pour 20 minutes, 8 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2008/11/icon225.jpg"><img class="alignleft size-full wp-image-802" title="icon225" src="http://www.jopa.fr/wp-content/uploads/2008/11/icon225.jpg" alt="" width="143" height="187" /></a>Sans faire de pub, <em>Orange </em>propose des accès 3G+ sans abonnement et sans engagement : &laquo;&nbsp;Pass Internet Everywhere&nbsp;&raquo;. La clé et sa carte sim ne sont pas hors de prix : 29 € (59 € &#8211; 30 € remboursés), contrairement aux communications qui elles, ne sont pas  vraiment données (3 € pour 20 minutes, 8 € pour une heure). Ceci dit, à titre exceptionnel, ça peut quand même bien dépanner !</p>
<p style="text-align: justify;">Le modem fourni est une clé USB <em>ICON 225</em>, le vendeur m&#8217;a affirmé qu&#8217;elle fonctionnait parfaitement sur PC ou Mac&#8230; <em>Mais&#8230;par &laquo;&nbsp;PC&nbsp;&raquo;, tu veux dire Windows je suppose, Monsieur le vendeur ? Non ? Tu sais, on peut faire marcher un PC avec autre chose que </em><em>Microsoft Windows&#8230; Si ! Si !!! Je t&#8217;assure ! D&#8217;ailleur, même un Mac peut tourner sous autre chose que&#8230; Bon laisse tomber, file moi ma clé, je vais me débrouiller&#8230; _</em></p>
<p style="text-align: justify;">Après quelques recherches sur le net, me voilà rassuré : Il est à priori possible de faire tourner le <em>bignou</em> sous Linux et mon achat ne finira pas au fond d&#8217;un tiroir&#8230; Oui ! Je sais ! Normalement on se renseigne avant, mais il faut dire que le vendeur m&#8217;avait quand même bien énervé ! ; )</p>
<p style="text-align: justify;"><span id="more-800"></span></p>
<p style="text-align: justify;">Le module utilisé s&#8217;appelle <em>hso, </em>il est présent dans les dernières versions des noyaux Ubuntu, mais ne semble pas fonctionnel, tout au moins avec ce matériel. Le mieux est donc de partir des sources.</p>
<p>hso-1.6</p>
<pre><span style="color: #800000;">tar -xvzf hso-1.6.tar.gz
cd hso-1.6
make clean
make
sudo make install
.</span></pre>
<p style="text-align: justify;">Le module compilé et installé, la clé reste reconnue comme un périphérique de stockage. Pour corriger, il faut implémenter les règles udev qui vont bien&#8230; Pas de panique,  ce petit outil le fait pour nous :</p>
<p>hso-udev</p>
<pre><span style="color: #800000;">mkdir hso-udev
cd hso-udev
tar -xvzf ../hso-dev.tar.gz
make clean
make
sudo make install
.</span></pre>
<p>2 utilitaires permettent ensuite de gérer la connexion :</p>
<ul>
<li style="text-align: justify;">HSOLink-1.0.46-1_i386.deb qui intègre les scripts de connexion,</li>
<li style="text-align: justify;">HSOConnect-py2.5-1.83_all.deb l&#8217;interface graphique permettant le paramétrage et la connexion/déconnexion.</li>
</ul>
<pre><span style="color: #800000;">dpkg -i hsolink_1.0.46-1_i386.deb
dpkg -i hsoconnect-py2.5-1.83_all.deb
.</span></pre>
<p style="text-align: justify;">Pour se connecter, il faut exécuter HSOConnect (soit par le menu gnome : <em>Application -&gt; Internet -&gt; HSOConnect</em>, soit à la main : python -m hsoc), et la première fois, éditer le profil de connexion  pour spécifier l&#8217;APN  : <em>orange.ie</em> pour les Pass Internet Everywhere.</p>
<p style="text-align: justify;">Ensuite, un clic sur Connect et normalement, ça roule !</p>
<p style="text-align: justify;">
<p><a href="http://www.jopa.fr/wp-content/uploads/2008/11/hso.png"><img class="aligncenter size-full wp-image-807" title="hso" src="http://www.jopa.fr/wp-content/uploads/2008/11/hso.png" alt="" width="459" height="127" /></a></p>
<p>En fait, il avait raison mon petit vendeur&#8230; Ca fonctionne parfaitement sur <em>PC</em> <img src='http://www.jopa.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Sources :</p>
<p><a title="http://www.pharscape.org/" href="http://www.pharscape.org/">http://www.pharscape.org/</a></p>
<p><a title="http://doc.ubuntu-fr.org/orange_3g" href="http://doc.ubuntu-fr.org/orange_3g">http://doc.ubuntu-fr.org/orange_3g</a></p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2008/11/18/cle-3g-icon-225-sur-pc-et-sans-windows/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ecrire un robot pour le web avec&#8230; Lynx</title>
		<link>http://www.jopa.fr/index.php/2008/10/03/ecrire-un-robot-web-lynx/</link>
		<comments>http://www.jopa.fr/index.php/2008/10/03/ecrire-un-robot-web-lynx/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 22:02:07 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=241</guid>
		<description><![CDATA[Boursicoteur à mes heures perdues, je m&#8217;intéresse surtout aux méthodes d&#8217;analyse graphique et aux traitements statistiques. J&#8217;utilise pour cela une base de données que j&#8217;alimente régulièrement avec les dernières cotations boursières. Le site ABCBourse fournit gratuitement ces valeurs sous forme d&#8217;un fichier csv, téléchargeable par l&#8217;intermédiaire d&#8217;un formulaire. Ce dernier permet de spécifier la période [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jopa.fr/wp-content/uploads/2008/09/robot1.png"><img class="alignleft size-full wp-image-289" title="robot1" src="http://www.jopa.fr/wp-content/uploads/2008/09/robot1.png" alt="" width="150" height="163" /></a></p>
<p style="text-align: justify;">Boursicoteur à mes heures perdues, je m&#8217;intéresse surtout aux méthodes d&#8217;analyse graphique et aux traitements statistiques. J&#8217;utilise pour cela une base de données que j&#8217;alimente régulièrement avec les dernières cotations boursières.</p>
<p style="text-align: justify;">Le site <a title="AbcBourse" href="http://www.abcbourse.com">ABCBourse</a> fournit gratuitement ces valeurs sous forme d&#8217;un fichier <em>csv</em>, téléchargeable par l&#8217;intermédiaire d&#8217;un formulaire. Ce dernier permet de  spécifier la période et les catégories de valeurs souhaitées : <a title="http://download.abcbourse.com/historiques.aspx?f=ex" href="http://download.abcbourse.com/historiques.aspx?f=ex">http://download.abcbourse.com/historiques.aspx?f=ex</a></p>
<p style="text-align: justify;">Pour corser un peu l&#8217;énoncé, le site n&#8217;autorise pas le téléchargement de l&#8217;intégralité des valeurs en une seule fois, si la période dépasse la journée. L&#8217;objectif de cet article, vous l&#8217;aurez compris, est de montrer comment automatiser la récupération de ces valeurs au jour le jour, en vue de leur intégration dans une base <em>mysql</em>.</p>
<p style="text-align: justify;"><span id="more-241"></span></p>
<p style="text-align: left;">
<p style="text-align: justify;">
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2008/09/formabc.jpg"><img class="size-medium wp-image-242 aligncenter" title="formabc" src="http://www.jopa.fr/wp-content/uploads/2008/09/formabc-300x288.jpg" alt="" width="300" height="288" /></a></p>
<p style="text-align: justify;"><em>Lynx</em>, le navigateur en mode texte bien connu de tout geek qui se respecte, dispose d&#8217;une option très intéressante : il permet l&#8217;enregistrement de toutes les touches pressées lors de la navigation.  Le fichier ainsi obtenu pourra ensuite être rejoué, un peu comme une macro.</p>
<p style="text-align: justify;">En remplaçant dans ce fichier les dates saisies pour le formulaire par les dates souhaitées, le tour est joué&#8230;</p>
<p style="text-align: justify;">Allez&#8230; Zou !!!</p>
<h2 style="text-align: justify;">Etape 1 : Ca tourne !</h2>
<pre style="text-align: left;"><span style="color: #800000;">$ lynx  -accept_all_cookies -cmd_log=abc.log 

http://download.abcbourse.com/historiques.aspx?f=ex</span></pre>
<p style="text-align: left;">
<dl id="attachment_244" class="wp-caption alignnone" style="width: 510px; text-align: center;">
<dt class="wp-caption-dt"><a href="http://www.jopa.fr/wp-content/uploads/2008/09/lynx1.png"><img class="size-full wp-image-244" title="lynx1" src="http://www.jopa.fr/wp-content/uploads/2008/09/lynx1.png" alt="Formulaire ABCBourse" width="500" height="419" /></a></dt>
</dl>
<p style="text-align: justify;">Complétons le formulaire en prenant soin de bien saisir la date de début, la date de fin et de cocher les catégories de valeurs souhaitées. Un ou deux essais peuvent s&#8217;avérer nécessaires  quand on n&#8217;est pas familiarisé avec ce type de navigateur&#8230;</p>
<p style="text-align: justify;">Un &laquo;&nbsp;pseudo clic&nbsp;&raquo; sur le bouton &laquo;&nbsp;Submit&nbsp;&raquo; (marqué <em>[Télécharger.gif]-Submit</em>), la liste des actions et leurs cours apparaît.</p>
<div class="mceTemp mceIEcenter" style="text-align: center;">
<dl id="attachment_246" class="wp-caption aligncenter" style="width: 510px;">
<dt class="wp-caption-dt"><a href="http://www.jopa.fr/wp-content/uploads/2008/09/lynx2.png"><img class="size-full wp-image-246" title="lynx2" src="http://www.jopa.fr/wp-content/uploads/2008/09/lynx2.png" alt="Lynx 2" width="500" height="419" /></a></dt>
</dl>
</div>
<p style="text-align: justify;">La touche &laquo;&nbsp;<strong><em>p</em></strong>&nbsp;&raquo; permet d&#8217;accéder au menu d&#8217;impression. Ce menu permet également d&#8217;enregistrer la page dans un fichier. Le nom du fichier par défaut est de la forme <em>Cotations</em>[aaaammjj].txt; Très bien ça !</p>
<p style="text-align: center;"><img src="file:///C:/DOCUME~1/PASTRE~1/LOCALS~1/Temp/moz-screenshot.jpg" alt="" /></p>
<div class="mceTemp mceIEcenter" style="text-align: center;">
<dl id="attachment_247" class="wp-caption aligncenter" style="width: 510px;">
<dt class="wp-caption-dt"><a href="http://www.jopa.fr/wp-content/uploads/2008/09/lynx3.png"><img class="size-full wp-image-247" title="lynx3" src="http://www.jopa.fr/wp-content/uploads/2008/09/lynx3.png" alt="Lynx 3" width="500" height="434" /></a></dt>
<dd class="wp-caption-dd"> </dd>
</dl>
</div>
<p style="text-align: justify;">Nous pouvons quitter Lynx, c&#8217;est dans la boîte ! La séquence de touches est enregistrée dans le fichier <em>abc.log</em> .</p>
<p style="text-align: justify;">Pour vérifier son enregistrement, nous pouvons directement rejouer la &laquo;&nbsp;scène&nbsp;&raquo; :</p>
<pre style="text-align: justify;"><span style="color: #800000;">lynx  -accept_all_cookies -cmd_script=abc.log 

http://download.abcbourse.com/historiques.aspx?f=ex</span></pre>
<h2 style="text-align: justify;">Etape 2 : Le montage</h2>
<p style="text-align: left;">
<p style="text-align: justify;">Editons maintenant le fichier <em>abc.log</em>. L&#8217;exercice va consister à repérer les dates et à remplacer leurs chiffres par des balises qui seront exploitables par un script.  Je choisis arbitrairement :</p>
<ul>
<li>XXJ1 XXJ2 pour les deux chiffres du jour</li>
<li>XXM1 XXM2 pour les deux chiffres du mois</li>
<li>XXA1 XXA2 XXA3 XXA4 pour les quatre chiffres de l&#8217;année</li>
</ul>
<p>$ vi abc.log</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p241code6'); return false;">View Code</a> ACTIONSCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2416"><td class="code" id="p241code6"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># Command logfile created by Lynx 2.8.5rel.1 (04 Feb 2004)</span>
<span style="color: #808080; font-style: italic;"># Arg0 = lynx</span>
<span style="color: #808080; font-style: italic;"># Arg1 = -accept_all_cookies</span>
<span style="color: #808080; font-style: italic;"># Arg2 = -cmd_log=abc.log</span>
<span style="color: #808080; font-style: italic;"># Arg3 = http://download.abcbourse.com/historiques.aspx?f=ex</span>
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>Down Arrow<span style="color: #66cc66;">&gt;</span>
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>Down Arrow<span style="color: #66cc66;">&gt;</span>
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>Down Arrow<span style="color: #66cc66;">&gt;</span>
...
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>delete<span style="color: #66cc66;">&gt;</span>
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>delete<span style="color: #66cc66;">&gt;</span>
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>delete<span style="color: #66cc66;">&gt;</span>
<span style="color: #808080; font-style: italic;"># Ici le jour de début</span>
<span style="color: #808080; font-style: italic;"># key 2</span>
<span style="color: #808080; font-style: italic;"># key 3</span>
<span style="color: #0066CC;">key</span> XXJ1
<span style="color: #0066CC;">key</span> XXJ2
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">/</span>
<span style="color: #808080; font-style: italic;"># Ici le mois de début</span>
<span style="color: #808080; font-style: italic;"># key 0</span>
<span style="color: #808080; font-style: italic;"># key 9</span>
<span style="color: #0066CC;">key</span> XXM1
<span style="color: #0066CC;">key</span> XXM2
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">/</span>
<span style="color: #808080; font-style: italic;"># Ici l'année de début</span>
<span style="color: #808080; font-style: italic;"># key 2</span>
<span style="color: #808080; font-style: italic;"># key 0</span>
<span style="color: #808080; font-style: italic;"># key 0</span>
<span style="color: #808080; font-style: italic;"># key 8</span>
<span style="color: #0066CC;">key</span> XXA1
<span style="color: #0066CC;">key</span> XXA2
<span style="color: #0066CC;">key</span> XXA3
<span style="color: #0066CC;">key</span> XXA4
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>Right Arrow<span style="color: #66cc66;">&gt;</span>
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>delete<span style="color: #66cc66;">&gt;</span>
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>delete<span style="color: #66cc66;">&gt;</span>
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>delete<span style="color: #66cc66;">&gt;</span>
...
<span style="color: #808080; font-style: italic;"># Ici le jour de fin</span>
<span style="color: #808080; font-style: italic;"># key 2</span>
<span style="color: #808080; font-style: italic;"># key 3</span>
<span style="color: #0066CC;">key</span> XXJ1
<span style="color: #0066CC;">key</span> XXJ2
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">/</span>
<span style="color: #808080; font-style: italic;"># Ici le mois de fin</span>
<span style="color: #808080; font-style: italic;"># key 0</span>
<span style="color: #808080; font-style: italic;"># key 9</span>
<span style="color: #0066CC;">key</span> XXM1
<span style="color: #0066CC;">key</span> XXM2
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">/</span>
<span style="color: #808080; font-style: italic;"># Ici l'année de fin</span>
<span style="color: #808080; font-style: italic;"># key 2</span>
<span style="color: #808080; font-style: italic;"># key 0</span>
<span style="color: #808080; font-style: italic;"># key 0</span>
<span style="color: #808080; font-style: italic;"># key 8</span>
<span style="color: #0066CC;">key</span> XXA1
<span style="color: #0066CC;">key</span> XXA2
<span style="color: #0066CC;">key</span> XXA3
<span style="color: #0066CC;">key</span> XXA4
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>Down Arrow<span style="color: #66cc66;">&gt;</span>
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>Down Arrow<span style="color: #66cc66;">&gt;</span>
...
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>Left Arrow<span style="color: #66cc66;">&gt;</span>
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">&lt;</span>Left Arrow<span style="color: #66cc66;">&gt;</span>
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">/</span>
<span style="color: #0066CC;">key</span> t
<span style="color: #0066CC;">key</span> m
<span style="color: #0066CC;">key</span> p
<span style="color: #0066CC;">key</span> <span style="color: #66cc66;">/</span>
<span style="color: #0066CC;">key</span> ^J
<span style="color: #0066CC;">key</span> o
<span style="color: #0066CC;">key</span> q
<span style="color: #0066CC;">key</span> o</pre></td></tr></table></div>

<h3>Etape 3 : Le script</h3>
<p style="text-align: left;">
<p style="text-align: justify;">Il ne reste plus qu&#8217;à réaliser un script <em>bash</em> qui remplacera les balises XXJ1 à XXA4 par les chiffres de la date du jour, exécutera lynx avec sa nouvelle séquence de commandes et finalement, déclenchera l&#8217;importation dans la base de données.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p241code7'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2417"><td class="code" id="p241code7"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Récupération de la date du jour</span>
<span style="color: #007800;">JOUR</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">&quot;+%d/%m/%Y&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># &quot;Explode&quot; de la date en chiffres</span>
<span style="color: #007800;">J1</span>=<span style="color: #800000;">${JOUR:0:1}</span>
<span style="color: #007800;">J2</span>=<span style="color: #800000;">${JOUR:1:1}</span>
&nbsp;
<span style="color: #007800;">M1</span>=<span style="color: #800000;">${JOUR:3:1}</span>
<span style="color: #007800;">M2</span>=<span style="color: #800000;">${JOUR:4:1}</span>
&nbsp;
<span style="color: #007800;">A1</span>=<span style="color: #800000;">${JOUR:6:1}</span>
<span style="color: #007800;">A2</span>=<span style="color: #800000;">${JOUR:7:1}</span>
<span style="color: #007800;">A3</span>=<span style="color: #800000;">${JOUR:8:1}</span>
<span style="color: #007800;">A4</span>=<span style="color: #800000;">${JOUR:9:1}</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Construction du nouveau fichier de commande</span>
<span style="color: #666666; font-style: italic;"># La variable PART sert à construire le nom de la Balise (XX$PART)</span>
<span style="color: #666666; font-style: italic;"># Et de &quot;pointeur&quot; vers les variables $J1, $J2, etc... ($$PART)</span>
&nbsp;
<span style="color: #007800;">CMD</span>=<span style="color: #ff0000;">&quot;cat abc.log&quot;</span>
<span style="color: #000000; font-weight: bold;">for</span> PART <span style="color: #000000; font-weight: bold;">in</span> J1 J2 M1 M2 A1 A2 A3 A4; <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #7a0874; font-weight: bold;">eval</span> <span style="color: #007800;">CHIFFRE</span>=$<span style="color: #007800;">$PART</span>
    <span style="color: #007800;">CMD</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$CMD</span>|sed 's/XX<span style="color: #007800;">$PART</span>/<span style="color: #007800;">$CHIFFRE</span>/g'&quot;</span>
<span style="color: #000000; font-weight: bold;">done</span>
<span style="color: #007800;">CMD</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$CMD</span> &gt; /tmp/abc.cmd&quot;</span>
<span style="color: #7a0874; font-weight: bold;">eval</span> <span style="color: #007800;">$CMD</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Exécution de Lynx</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">lynx</span>  -accept_all_cookies -cmd_script=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>abc.cmd http:<span style="color: #000000; font-weight: bold;">//</span>download.abcbourse.com<span style="color: #000000; font-weight: bold;">/</span>historiques.aspx?<span style="color: #007800;">f</span>=ex <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>cotationabc.log
&nbsp;
<span style="color: #666666; font-style: italic;"># Appel du script d'import dans la base</span>
<span style="color: #007800;">FICHIER</span>=<span style="color: #ff0000;">&quot;Cotations<span style="color: #007800;">$A1</span><span style="color: #007800;">$A2</span><span style="color: #007800;">$A3</span><span style="color: #007800;">$A4</span><span style="color: #007800;">$M1</span><span style="color: #007800;">$M2</span><span style="color: #007800;">$J1</span><span style="color: #007800;">$J2</span>.txt&quot;</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$FICHIER</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    php import_batch.php <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$FICHIER</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>cotationabc.log
    <span style="color: #c20cb9; font-weight: bold;">tail</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>cotationabc.log
    <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$FICHIER</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>cotations
<span style="color: #000000; font-weight: bold;">else</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;!!! Erreur de traitement du fichier <span style="color: #007800;">$FICHIER</span> !!!&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></td></tr></table></div>

<p style="text-align: justify;">Le lancement du script sera planifié dans un <em>crontab</em> afin de parfaire l&#8217;automatisation.</p>
<p style="text-align: justify;">A titre d&#8217;exemple, voici le script <strong><em>import_batch.php</em></strong> qui se charge d&#8217;importer les valeurs dans la base de données. Il est très réduit car il utilise une classe <em>fcours</em> &laquo;&nbsp;maison&nbsp;&raquo; possédant les attributs nécessaires à l&#8217;enregistrement de cotations boursières et une méthode d&#8217;import à partir d&#8217;un fichier. L&#8217;intérêt de l&#8217;article ne résident pas dans cette partie, je ne vais pas la détailler.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p241code8'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2418"><td class="code" id="p241code8"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/php -q
</span><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">include_once</span> <span style="color: #0000ff;">&quot;include/class_file_cours_inc.php&quot;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$argc</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">||</span> <span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$argv</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'--help'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'-help'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'-h'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'-?'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
Script d<span style="color: #0000ff;">'import de données dans la base bourse...
&nbsp;
  Usage:
    &lt;?php echo $argv[0]; ?&gt; &lt;nomdefichier&gt;
&nbsp;
     &lt;nomdefichier&gt;  Nom du fichier CSV issu d'</span>ABCBourse au format Excel <span style="color: #339933;">/</span> ISIN
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
          <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Traitement du fichier <span style="color: #006699; font-weight: bold;">$argv[1]</span>n&quot;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$import</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> amdr_fcours<span style="color: #009900;">&#40;</span><span style="color: #000088;">$argv</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$import</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">import</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2008/10/03/ecrire-un-robot-web-lynx/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Bases d&#8217;un firewall sur serveur dédié avec Netfilter (iptables)</title>
		<link>http://www.jopa.fr/index.php/2008/09/26/bases-dun-firewall-sur-serveur-dedie-avec-netfilter-iptables/</link>
		<comments>http://www.jopa.fr/index.php/2008/09/26/bases-dun-firewall-sur-serveur-dedie-avec-netfilter-iptables/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 00:14:17 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=231</guid>
		<description><![CDATA[Notre serveur dédié se sent un peu nu sur Internet et pour cause : il n&#8217;est doté d&#8217;aucun filtrage IP. Il faudrait rapidement lui injecter, à l&#8217;aide d&#8217;iptables, quelques règles netfilter afin de le protéger un minimum. Nous allons créer un script contenant les règles à mettre en place. Ce script sera lancé au démarrage [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft size-thumbnail wp-image-219" title="mur" src="http://www.jopa.fr/wp-content/uploads/2008/09/mur-150x150.jpg" alt="" width="129" height="129" />Notre serveur dédié se sent un peu nu sur Internet et pour cause : il n&#8217;est doté d&#8217;aucun filtrage IP. Il faudrait rapidement lui injecter, à l&#8217;aide d&#8217;<em>iptables, </em>quelques règles <em>netfilter</em> afin de le protéger un minimum.</p>
<p style="text-align: justify;">Nous allons créer un script contenant les règles à mettre en place. Ce script sera lancé au démarrage du serveur.</p>
<p style="text-align: justify;"><span id="more-231"></span></p>
<h2>Initialisation</h2>
<p>La toute première étape va consister à vider les tables :</p>
<pre><span style="color: #800000;"># RAZ DES TABLES
iptables -t filter -F
iptables -t filter -X</span>
 .</pre>
<p>Les connexions existantes ne doivent pas être cassées&#8230; C&#8217;est utile sur un serveur dédié, pour ne pas perdre la main.</p>
<pre><span style="color: #800000;"># Ne pas casser les connexions établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT</span>
 .</pre>
<p>Comme toujours quand on parle de sécurité, nous allons commencer par tout interdire. Aucun paquet, qu&#8217;il soit entrant, sortant ou routé par le serveur ne doit passer.</p>
<pre><span style="color: #800000;"># Interdire tous les paquets...tous...
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP</span>
 .</pre>
<p>A nous maintenant d&#8217;autoriser le trafic nécessaire&#8230; Et seulement le trafic nécessaire.  Nous allons, dans l&#8217;ordre, étudier les connexions entrante, sortantes et éventuellement celles susceptibles d&#8217; être routées par la machine; C&#8217;est relativement rare pour un serveur dédié, mais possible, dans le cas de VPN par exemple.</p>
<h2>Règles pour les paquets entrants</h2>
<p style="text-align: center;"><em>Quels services sont fournis par le serveur ?</em></p>
<ul>
<li>Un serveur WEB,</li>
</ul>
<pre><span style="color: #800000;"># HTTP
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT</span>
.</pre>
<ul>
<li>Un serveur VPN (OpenVPN) pour un client dont l&#8217;adresse IP est XXX.XXX.XXX.XXX,</li>
</ul>
<pre><span style="color: #800000;"># OpenVPN
iptables -t filter -A INPUT -p udp --dport 1194 -s XXX.XXX.XXX.XXX -j ACCEPT</span>
.</pre>
<ul>
<li>Un serveur de mails,</li>
</ul>
<pre><span style="color: #800000;"># SMTP
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT</span>
.</pre>
<ul>
<li>Les boites mails sont accessibles en POP et IMAP, mais depuis le VPN uniquement,</li>
</ul>
<pre><span style="color: #800000;"># POP3
iptables -t filter -A INPUT  -i tun+ -p tcp --dport 110 -j ACCEPT
# IMAP
iptables -t filter -A INPUT -i tun+ -p tcp --dport 143 -j ACCEPT</span>
.</pre>
<ul>
<li>De même, un serveur DNS est disponible pour les machines du vpn,</li>
</ul>
<pre><span style="color: #800000;"># DNS en Entrée
iptables -t filter -A INPUT -i tun+ -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -i tun+ -p udp --dport 53 -j ACCEPT</span>
.</pre>
<ul>
<li>Pour être conforme au RFC, le serveur répond aux requêtes ICMP (ping),</li>
</ul>
<pre><span style="color: #800000;"># ICMP
iptables -t filter -A INPUT -p icmp -j ACCEPT</span>
.</pre>
<ul>
<li>N&#8217;oublions pas SSH&#8230; Ca peut toujours servir,</li>
</ul>
<pre><span style="color: #800000;"># SSH
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT</span>
.</pre>
<ul>
<li>Enfin, aucune restriction n&#8217;est appliquée pour l&#8217;interface Loopback (Localhost)</li>
</ul>
<pre><span style="color: #800000;"># LOOPBACK
iptables -t filter -A INPUT -i lo -j ACCEPT</span>
.</pre>
<h2>Règles pour les paquets sortants</h2>
<p style="text-align: center;"><em>Quels services sont nécessaires au serveur ?</em></p>
<ul>
<li>Le serveur doit pouvoir envoyer des requêtes DNS,</li>
</ul>
<pre><span style="color: #800000;"># DNS
iptables -t filter -A OUTPUT  -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT  -p udp --dport 53 -j ACCEPT</span>
.</pre>
<ul>
<li>Disposer d&#8217;un accès HTTP ( utile pour les mises à jour ),</li>
</ul>
<pre><span style="color: #800000;"># HTTP
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT</span>
.</pre>
<ul>
<li>Ssh est autorisé en sortie,</li>
</ul>
<pre><span style="color: #800000;"># SSH
iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT</span>
.</pre>
<ul>
<li>Envoyer des mails,</li>
</ul>
<pre><span style="color: #800000;"># SMTP
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT</span>
.</pre>
<ul>
<li>Récupérer des mails sur un compte POP3 par l&#8217;intermédiaire de <em>fetchmail,</em></li>
</ul>
<pre><span><span style="color: #800000;"># POP3
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT</span></span>
.</pre>
<ul>
<li>Pinguer (ben tiens !),</li>
</ul>
<pre><span style="color: #800000;"># ICMP
iptables -t filter -A OUTPUT -t icmp -j ACCEPT</span>
.</pre>
<ul>
<li>Etablir une connexion OpenVPN vers un autre serveur dont l&#8217;adresse IP est YYY.YYY.YYY.YYY : Ce serveur interconnecte un VPN dont il est le serveur avec un VPN dont il est client,</li>
</ul>
<pre><span style="color: #800000;"># VPN
iptables -t filter -A OUTPUT -p udp --dport 1194 -d YYY.YYY.YYY.YYY -j ACCEPT</span>
.</pre>
<ul>
<li>Enfin, aucune restriction sur l&#8217;interface loopback,</li>
</ul>
<pre><span style="color: #800000;"># LOOPBACK
iptables -t filter -A OUTPUT -o lo -j ACCEPT</span>
.</pre>
<h2>Règle pour les paquets traversants (routés)</h2>
<ul>
<li>Ce serveur interconnecte deux VPN, on ne souhaite pas filter le trafic d&#8217;un VPN vers l&#8217;autre,</li>
</ul>
<pre><span style="color: #800000;"># VPN2VPN
iptables -t filter -A FORWARD -i tun+ -o tun+ -j ACCEPT
</span>
.</pre>
<h2><span style="color: #800000;">Syn flood, spoofing et compagnie&#8230;</span></h2>
<p>Pour finir, ajoutons quelques règles pour limiter tout ça, quelques traces dans les logs et le tour sera joué&#8230;</p>
<ul>
<li>Limitation du syn flood</li>
</ul>
<pre><span style="color: #800000;"># Syn Flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp  -m limit --limit 1/second -j ACCEPT</span>
.</pre>
<ul>
<li>&laquo;&nbsp;Anti-spoofing&nbsp;&raquo;</li>
</ul>
<pre><span style="color: #800000;"># Spoofing
iptables -N SPOOFED
iptables -A SPOOFED -s 127.0.0.0/8 -j DROP
iptables -A SPOOFED -s 169.254.0.0/12 -j DROP
iptables -A SPOOFED -s 172.16.0.0/12 -j DROP
iptables -A SPOOFED -s 192.168.0.0/16 -j DROP
iptables -A SPOOFED -s 10.0.0.0/8 -j DROP</span>
.</pre>
<ul>
<li>Log des paquets rejetés dans syslog</li>
</ul>
<pre><span style="color: #800000;"># LOG des paquets rejetés
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP]:'
iptables -A LOG_DROP -j DROP
iptables -t filter -A INPUT -j LOG_DROP
iptables -t filter -A OUTPUT -j LOG_DROP
iptables -t filter -A FORWARD -j LOG_DROP</span>
.</pre>
<p>Voilà, ce n&#8217;est pas trop mal  pour un début ; ) Ci-dessous, le script &laquo;&nbsp;recollé&nbsp;&raquo; :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p231code10'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p23110"><td class="code" id="p231code10"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">##########</span>
<span style="color: #666666; font-style: italic;">## INIT ##</span>
<span style="color: #666666; font-style: italic;">##########</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># RAZ DES TABLES</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-F</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-X</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Ne pas casser les connexions établies</span>
iptables <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-m</span> state <span style="color: #660033;">--state</span> RELATED,ESTABLISHED <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-m</span> state <span style="color: #660033;">--state</span> RELATED,ESTABLISHED <span style="color: #660033;">-j</span> ACCEPT
&nbsp;
<span style="color: #666666; font-style: italic;"># Interdire tous les paquets...tous...</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-P</span> INPUT DROP
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-P</span> FORWARD DROP
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-P</span> OUTPUT DROP
&nbsp;
<span style="color: #666666; font-style: italic;">###########</span>
<span style="color: #666666; font-style: italic;">## INPUT ##</span>
<span style="color: #666666; font-style: italic;">###########</span>
<span style="color: #666666; font-style: italic;"># HTTP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">80</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># OpenVPN</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> udp <span style="color: #660033;">--dport</span> <span style="color: #000000;">1194</span> <span style="color: #660033;">-s</span> XXX.XXX.XXX.XXX <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># SMTP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">25</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># POP3</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT  <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">110</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># IMAP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">143</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># DNS en Entrée</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">53</span> <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-p</span> udp <span style="color: #660033;">--dport</span> <span style="color: #000000;">53</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># ICMP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> icmp <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># SSH</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">22</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># LOOPBACK</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-i</span> lo <span style="color: #660033;">-j</span> ACCEPT
&nbsp;
<span style="color: #666666; font-style: italic;">############</span>
<span style="color: #666666; font-style: italic;">## OUTPUT ##</span>
<span style="color: #666666; font-style: italic;">############</span>
<span style="color: #666666; font-style: italic;"># DNS</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT  <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">53</span> <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT  <span style="color: #660033;">-p</span> udp <span style="color: #660033;">--dport</span> <span style="color: #000000;">53</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># HTTP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">80</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># SSH</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">22</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># SMTP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">25</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># POP3</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">110</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># ICMP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-t</span> icmp <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># VPN</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-p</span> udp <span style="color: #660033;">--dport</span> <span style="color: #000000;">1194</span> <span style="color: #660033;">-d</span> YYY.YYY.YYY.YYY <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># LOOPBACK</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-o</span> lo <span style="color: #660033;">-j</span> ACCEPT
&nbsp;
<span style="color: #666666; font-style: italic;">###############</span>
<span style="color: #666666; font-style: italic;">## FORWARD ##</span>
<span style="color: #666666; font-style: italic;">###############</span>
<span style="color: #666666; font-style: italic;"># VPN2VPN</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-o</span> tun+ <span style="color: #660033;">-j</span> ACCEPT
&nbsp;
<span style="color: #666666; font-style: italic;">###############</span>
<span style="color: #666666; font-style: italic;">## FINITIONS ##</span>
<span style="color: #666666; font-style: italic;">###############</span>
<span style="color: #666666; font-style: italic;"># Syn Flood</span>
iptables <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--syn</span> <span style="color: #660033;">-m</span> limit <span style="color: #660033;">--limit</span> <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>second <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-p</span> udp  <span style="color: #660033;">-m</span> limit <span style="color: #660033;">--limit</span> <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>second <span style="color: #660033;">-j</span> ACCEPT
&nbsp;
<span style="color: #666666; font-style: italic;"># Spoofing</span>
iptables <span style="color: #660033;">-N</span> SPOOFED
iptables <span style="color: #660033;">-A</span> SPOOFED <span style="color: #660033;">-s</span> 127.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> SPOOFED <span style="color: #660033;">-s</span> 169.254.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> SPOOFED <span style="color: #660033;">-s</span> 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> SPOOFED <span style="color: #660033;">-s</span> 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> SPOOFED <span style="color: #660033;">-s</span> 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> <span style="color: #660033;">-j</span> DROP
&nbsp;
<span style="color: #666666; font-style: italic;"># LOG des paquets rejetés</span>
iptables <span style="color: #660033;">-N</span> LOG_DROP
iptables <span style="color: #660033;">-A</span> LOG_DROP <span style="color: #660033;">-j</span> LOG <span style="color: #660033;">--log-prefix</span> <span style="color: #ff0000;">'[IPTABLES DROP]:'</span>
iptables <span style="color: #660033;">-A</span> LOG_DROP <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-j</span> LOG_DROP
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-j</span> LOG_DROP
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-j</span> LOG_DROP</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2008/09/26/bases-dun-firewall-sur-serveur-dedie-avec-netfilter-iptables/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jouer avec &#171;&#160;La Fonera&#8230;&#160;&#187; &#8211; 1ère partie : Présentation</title>
		<link>http://www.jopa.fr/index.php/2008/03/15/jouer-avec-la-fonera/</link>
		<comments>http://www.jopa.fr/index.php/2008/03/15/jouer-avec-la-fonera/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 21:00:09 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Bidouilles]]></category>
		<category><![CDATA[Fonera]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Wifi]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/wordpress/?p=8</guid>
		<description><![CDATA[Pour ceux qui ne la connaîtraient pas encore, &#171;&#160;la Fonera&#160;&#187; est, en quelques mots, un petit routeur communautaire permettant de partager une connexion internet en wifi. Le principe est simple : on commence par s&#8217;inscrire sur le site de Fon (http://www.fon.com) pour devenir un &#171;&#160;foneros&#160;&#187; et commander sa Fonera (10€98 avec un parrainage). A réception [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jopa.fr/wp-content/uploads/2008/03/rr_fon_seule.jpg" alt="Fonera" align="left" /></p>
<p align="justify">Pour ceux qui ne la connaîtraient pas encore, &laquo;&nbsp;la Fonera&nbsp;&raquo; est, en quelques mots, un petit routeur communautaire permettant de partager une connexion internet en wifi. Le principe est simple : on commence par s&#8217;inscrire sur le site de Fon (<a href="http://www.fon.com/fr" title="http://www.fon.com/fr">http://www.fon.com</a>)  pour devenir un &laquo;&nbsp;foneros&nbsp;&raquo; et commander sa Fonera (10€98 avec un parrainage).</p>
<p align="justify">A réception de la petite boîte,  il faut la connecter derrière sa &laquo;&nbsp;box Internet&nbsp;&raquo; et après un minimum de configuration, on obtient un superbe hotspot wifi permettant à d&#8217;éventuels &laquo;&nbsp;foneros&nbsp;&raquo;, qui passeraient par là, de se connecter à Internet en empruntant un bout de notre bande passante.<br />
En contre partie, nous pourrons accéder à Internet partout dans le monde, dès lors que nous serons à portée wifi d&#8217;une Fonera.</p>
<p align="justify"><span id="more-8"></span></p>
<p style="text-align: center" align="justify"><img src="http://www.jopa.fr/wp-content/uploads/2008/03/r_fonera_2dos.jpg" alt="Fonera de dos" /></p>
<p align="justify">En dehors de ce principe, déjà très séduisant, La fonera présente l&#8217;intérêt d&#8217;être une petite machine toute mimie (pas plus grosse qu&#8217;un paquet de cigarettes), basée sur une architecture <em>mips</em> et disposant d&#8217;un port Ethenet à 100Mb/s, d&#8217;une interface wifi 802.11g pilotée par une puce <em>Atheros</em>,  6 Mo de sdram et 8 Mo de mémoire Flash. Le tout tournant sous un Firmware &laquo;&nbsp;Fon&nbsp;&raquo; basé sur OpenWrt (qui n&#8217;est rien d&#8217;autre qu&#8217;un Linux embarqué). Tout ceci devrait nous permettre de faire mumuse pendant quelques heures.</p>
<p align="justify">&nbsp;</p>
<p align="justify">D&#8217;un point de vue plus fonctionnel, la petite boîte en service gère pas moins de 3 réseaux, ceci pour pouvoir assurer un minimum de sécurité :</p>
<ul>
<li>
<p align="justify">Un premier réseau wifi, <strong>public</strong>, dont le ESSID par défaut est &laquo;&nbsp;<em><strong>FON_AP</strong></em>&laquo;&nbsp;. Ce nom pourra être changé mais restera obligatoirement préfixé par &laquo;&nbsp;<em>FON_</em>&laquo;&nbsp;, signe de reconnaissance des points d&#8217;accès de la communauté. C&#8217;est par le biais de ce réseau qu&#8217;un &laquo;&nbsp;foneros&nbsp;&raquo; lambda pourra se connecter et accéder à Internet.</p>
</li>
<li>
<p align="justify">Un deuxième réseau wifi, <strong>privé </strong>cette fois, dont le ESSID par défaut est &laquo;&nbsp;<em><strong>MyPlace</strong></em>&nbsp;&raquo; est protégé par une clef WPA initialisée avec le numéro de série de la bête. Nous pourrons bien entendu le modifier par la suite. Ce réseau va permettre un accès wifi sécurisée et l&#8217;accès à l&#8217;interface de paramétrage de la Fonéra.</p>
</li>
</ul>
<p align="center"><img src="http://www.jopa.fr/wp-content/uploads/2008/03/r_capture_i_fon.png" alt="Interface_Fon" /></p>
<ul>
<li>La troisième patte, dénommé <strong>wan</strong>, est une interface filaire qui permet à la fonera de communiquer avec notre passerelle Internet (la box de notre provider préféré dans la majorité des cas) pour fournir l&#8217;accès à Internet.</li>
</ul>
<p align="justify">La gestion de ces trois réseaux a l&#8217;air plutôt bien pensée; En configuration d&#8217;origine, une machine connectée à l&#8217;interface wifi publique n&#8217;accédera pas aux 2 autres réseaux. Par contre, via l&#8217;interface wifi privée, on atteint sans problème notre lan. Ceci positionne la Fonera en sérieux postulant pour un éventuel remplacement de notre point d&#8217;accès existant; pour peut-êtr devenir le distributeur agrée de wifi dans la maison.</p>
<p align="justify">Malgré toute cette stratégie, aussi bien imaginée soit-elle, je ne peux m&#8217;empêcher de me poser des questions sur les risques encourus par le partage d&#8217;une connexion Internet &#8211; Ah ! Paranoïa, quand tu nous tiens ! &#8211; Je me demande en particulier ce qu&#8217;on risque réellement, si un &laquo;&nbsp;Foneros&nbsp;&raquo; mal intentionné utilise la connexion que nous lui mettons à disposition pour faire de grosses bêtises sur Internet ? N&#8217;oublions pas que de l&#8217;extérieur, c&#8217;est notre adresse IP qui est visible et donc notre responsabilité qui est engagée.</p>
<p align="justify">Mais nous sommes là pour jouer, non ? Dans un prochain billet, nous essayerons de prendre la main sur la bête, histoire de voir ce qu&#8217;il est possible d&#8217;en tirer.</p>
<p align="justify"><a href="http://www.jopa.fr/index.php/2008/03/24/jouer-avec-la-fonera-2eme-partie-hacker-la-fonera/"> 2ème partie : Hacker la Fonera </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2008/03/15/jouer-avec-la-fonera/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
