<?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>Je pensais qu&#039;il était avec vous... &#187; Internet</title>
	<atom:link href="http://www.patpro.net/blog/index.php/tag/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.patpro.net/blog</link>
	<description>patpro.net</description>
	<lastBuildDate>Mon, 23 Jan 2012 23:09:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Activer le partage d&#8217;écran sur un Mac, à distance</title>
		<link>http://www.patpro.net/blog/index.php/2011/01/31/1756-activer-le-partage-decran-sur-un-mac-a-distance/</link>
		<comments>http://www.patpro.net/blog/index.php/2011/01/31/1756-activer-le-partage-decran-sur-un-mac-a-distance/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 11:00:39 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[MacOSX]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1756</guid>
		<description><![CDATA[Parfois, on est bêtement coincé par un tout petit problème. Mon dernier problème en date était de pouvoir interagir avec une application graphique, sur un Mac à plusieurs kilomètres de distance. Et bien sûr, je n'avais pas activé au préalable le partage d'écran sur cette machine. Rassurez-vous, ça se fini bien, et ça se règle [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/01/31/1756-activer-le-partage-decran-sur-un-mac-a-distance/' addthis:title='Activer le partage d&#8217;écran sur un Mac, à distance '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>Parfois, on est bêtement coincé par un tout petit problème. Mon dernier problème en date était de pouvoir interagir avec une application graphique, sur un Mac à plusieurs kilomètres de distance. Et bien sûr, je n'avais pas activé au préalable le partage d'écran sur cette machine. Rassurez-vous, ça se fini bien, et ça se règle en quelques secondes. Voici comment faire pour un Mac en 10.5 ou 10.6 : </p>
<ol type="1">
<li>Connectez-vous à la machine en SSH, via un compte admin (ben oui, il y a quand même quelques pré-requis)</li>
<li>Tapez les commandes suivantes : <code>sudo -s</code> puis <code>echo "enabled"&gt;/etc/ScreenSharing.launchd</code></li>
</ol>
<p>C'est fini. Le partage d'écran est activé sur ce Mac.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/01/31/1756-activer-le-partage-decran-sur-un-mac-a-distance/' addthis:title='Activer le partage d&#8217;écran sur un Mac, à distance '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2011/01/31/1756-activer-le-partage-decran-sur-un-mac-a-distance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sauvegarde : ceinture et bretelles</title>
		<link>http://www.patpro.net/blog/index.php/2011/01/07/1740-sauvegarde-ceinture-et-bretelles/</link>
		<comments>http://www.patpro.net/blog/index.php/2011/01/07/1740-sauvegarde-ceinture-et-bretelles/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 10:17:25 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1740</guid>
		<description><![CDATA[Les recommandations sur le thème des sauvegardes foisonnent sur internet et dans la presse informatique. Chacun y vante sa méthode, ses logiciels, etc. Pour ne pas être en reste, et parce que je pense que la manière dont je procède à mes sauvegardes personnelles est intéressante, je vais présenter ci-dessous les quelques principes sur les [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/01/07/1740-sauvegarde-ceinture-et-bretelles/' addthis:title='Sauvegarde : ceinture et bretelles '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>Les recommandations sur le thème des sauvegardes foisonnent sur internet et dans la presse informatique. Chacun y vante sa méthode, ses logiciels, etc. Pour ne pas être en reste, et parce que je pense que la manière dont je procède à mes sauvegardes personnelles est intéressante, je vais présenter ci-dessous les quelques principes sur les quels je m'appuie.<span id="more-1740"></span></p>
<p>La sauvegarde est une des briques de la sécurité informatique. En tant que telle, elle en hérite deux caractéristiques élémentaires : c'est un compromis, et c'est indispensable.</p>
<p>Les seules variables réelles pour l'utilisateur se trouvent donc au niveau de ce compromis. Sauvegarder des données, cela prend du temps, de la place, éventuellement de la bande passante, c'est contraignant, cela requière de l'attention. Il faut donc faire un compromis entre ce que l'on veut sauvegarder et les moyens qu'on est prêt à mettre en œuvre.</p>
<p>Par exemple, il est très facile de faire une sauvegarde de toutes ses données, mise à jour toutes les heures, avec possibilité de remonter dans le temps sur un an d'historique ou plus. Vous branchez un disque dur sur votre machine, et vous configurez Time Machine (si vous êtes sur Mac, pour les autres plateformes charge à vous de trouver le logiciel équivalent). Les sauvegardes sont alors totalement automatiques.<br />
L'accès aux données est rapide, et très simple. Mais si votre logement est cambriolé, incendié, innondé, ou que votre machine est victime d'un pirate ou d'un gros virus, vous avez toutes les chances de perdre à la fois les données de votre machine et leurs sauvegardes.<br />
Il faut donc éloigner la sauvegarde de l'ordinateur pour assurer la sécurité de vos données. Cela se complique. On peut mettre le disque externe en lieu sûr, mais alors cela oblige à des manipulations entre chaque sauvegarde : sortir le disque de sa cachette, le brancher, sauvegarder, le débrancher, le remettre en lieu sûr... Pénible !<br />
La solution simple est alors de passer par internet, mais c'est lent. Allez donc sauvegarder 200 Go de données via votre ligne ADSL. Et puis d'abord, où allez vous trouver autant de place ? Il faut payer un hébergement spécialisé. On en trouve des pas trop chers, mais contrairement à un disque dur, la dépense est mensuelle.<br />
Tel que je vois les choses, il faut utiliser la sauvegarde locale cumulée à la sauvegarde distante. Plus la sauvegarde est éloignée (et donc pénible d'accès), moins je sauvegarde de données. C'est aussi simple que ça.<br />
La seule réflexion que doit mener l'utilisateur dans ce cas de figure, est la hiérarchisation de ses données. Il doit décider parmi ses données les quelles il est inutile de sauvegarder, les quelles il est utile de sauvegarder, les quelles il est important de sauvegarder, etc.<br />
Pour la sauvegarde locale, on est sur du disque dur. L'accès est performant, c'est de la sauvegarde de confort. On peut y placer toutes les données, même les données peu importantes.<br />
Pour une sauvegarde intermédiaire (sur une autre machine du réseau par exemple), on est en accès relativement rapide, mais moins que le disque local, et on a aussi sans doute un peu moins de place. On va donc omettre les données peu importantes (les gros logiciels installés dont on a le CDROM dans l'étagère, les fichiers volumineux qu'on peut retrouver facilement ailleurs...).<br />
Pour la sauvegarde hors-site (sur un serveur accessible via internet), on sait que l'accès est lent, que l'espace est compté et facturé, on doit donc se limiter à l'essentiel (emails, documents personnels, photos de famille irremplaçables, factures électroniques...).</p>
<p>C'est un fonctionnement en entonoir. Plus la sauvegarde est contraignante (distance, temps d'accès, coût), plus vous la limitez en volume.</p>
<p>À titre d'illustration, voici comment mes sauvegardes "ceinture et bretelles" fonctionnent :</p>
<p>- Dans mon Mac, j'ai un second disque dur qui sert pour Time Machine, j'ai donc une sauvegarde incrémentale sur plus de 2 ans de toutes mes données. Toutes les heures, Time Machine fait une sauvegarde sur ce disque. L'accès est rapide, mais le disque de sauvegarde est dans la même machine que le disque sauvegardé. Le risque de perdre les deux en même temps est maximal.</p>
<p>- Sur mon réseau local, j'ai une seconde machine, avec un disque dur dédié aux sauvegardes. J'ai sur le Mac un script qui se lance tous les deux jours, et qui envoie sur cette seconde machine une partie de ma dernière sauvegarde Time Machine. Cette machine a peu à craindre d'un cambrioleur ou d'un pirate, rien à craindre des virus, mais un sinistre pourrait lui être fatal. L'accès est plus lent qu'un disque local, mais plus rapide que via internet.</p>
<p>- Ensuite, le même script envoie sur un serveur distant, au travers de ma liaison ADSL, un sous-ensemble encore plus petit de ces données. Et ce serveur distant garde l'historique des données une fois par semaine pendant 20 semaines. Je peux donc revenir en arrière de 5 mois sur les données sauvegardées.<br />
Ce serveur est à 400 km, dans un datacenter sécurisé. La probabilité pour que mes deux sauvegardes "maison" et cette sauvegarde distante disparaissent en même temps est nulle.</p>
<p>L'intégralité des trois étapes est bien sûr entièrement automatisée, et tout fonctionne sans intervention humaine. C'est primordial. Si vous utilisez un système de sauvegarde manuelle, vous pouvez être sûr qu'un jour vous oublierez, ou vous vous lasserez.</p>
<p>Pour résumer tout ceci en une ligne : ayez toujours une sauvegarde locale pour votre confort, et une sauvegarde distante pour les données vraiment importantes. Si vous réfléchissez à cela sérieusement, cela vous forcera aussi à considérer l'ensemble de vos habitudes de stockage : qu'est ce que je stocke sur ma machine ? Est-ce vraiment utile de garder tout ça ? Qu'est ce que je peux supprimer ou perdre sans états d'âme ? etc.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/01/07/1740-sauvegarde-ceinture-et-bretelles/' addthis:title='Sauvegarde : ceinture et bretelles '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2011/01/07/1740-sauvegarde-ceinture-et-bretelles/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Que nous apprend l&#8217;affaire &#171;&#160;Gawker&#160;&#187;</title>
		<link>http://www.patpro.net/blog/index.php/2010/12/24/1733-que-nous-apprend-laffaire-gawker/</link>
		<comments>http://www.patpro.net/blog/index.php/2010/12/24/1733-que-nous-apprend-laffaire-gawker/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 00:45:09 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Analyse]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1733</guid>
		<description><![CDATA[Comme je l'évoquais brièvement dans un précédent article, les serveurs de l'entreprise de média en ligne Gawker ont été piratés récemment, avec pour conséquence immédiate la diffusion au public des logins, emails, et mots de passe chiffrés de plus d'un million d'utilisateurs. Pour plusieurs centaines de milliers d'entre eux, les mots de passe avaient même [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/12/24/1733-que-nous-apprend-laffaire-gawker/' addthis:title='Que nous apprend l&#8217;affaire &#171;&#160;Gawker&#160;&#187; '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>Comme je l'évoquais brièvement dans un <a href="/blog/index.php/2010/12/14/1723-de-la-securite-de-vos-mots-de-passe">précédent article</a>, les serveurs de l'entreprise de média en ligne Gawker ont été piratés récemment, avec pour conséquence immédiate la diffusion au public des logins, emails, et mots de passe chiffrés de plus d'un million d'utilisateurs. Pour plusieurs centaines de milliers d'entre eux, les mots de passe avaient même été déchiffrés avant leur diffusion.<br />
Pour quelqu'un comme moi les dessous de l'affaire sont croustillants, et les détails techniques sont même passionnants. Mais, plus important : tout le monde a une leçon à tirer de ce fiasco monumental.<br />
Cette leçon, et non des moindres, est la suivante : dès l'instant où vous confiez un mot de passe à quelqu'un, ce mot de passe est vulnérable. Ça paraît tout bête comme ça, on se dit "mais oui, c'est sûr qu'en donnant mon mot de passe à mon voisin, alors il n'est plus secret". Non. Relisez bien la leçon, elle est à prendre au premier degré. Oubliez votre voisin, votre copine. Vous créez un compte chez Hotmail, vous choisissez un mot de passe pour pouvoir accéder plus tard à votre boîte mail, vous fournissez ce mot de passe à Hotmail. Ça y est, ce mot de passe n'est plus sûr. Un jour, c'est inévitable, c'est déjà arrivé, et ça arrivera à nouveau, des serveurs Hotmail seront piratés et votre mot de passe pourrait tomber dans les mains de quelqu'un.<br />
L'affaire Gawker est bourrée d'exemples illustrants parfaitement ce principe. Les employés de chez Gawker s'échangeaient des mots de passe par chat, dont les archives des conversations ont été piratées. Le piratage des bases de données des sites de Gawker a montré que les mots de passe des utilisateurs n'étaient pas sécurisés : le chiffrement utilisé était archaïque et connu depuis des années pour être déficient, etc. etc.<br />
<span id="more-1733"></span><br />
Bref, votre mot de passe, dès l'instant où il quitte votre tête pour entrer dans un système que vous ne maîtrisez pas, n'est plus en sécurité. Vous ne pouvez pas garantir son inviolabilité, car vous ne contrôlez pas la manière dont il est transmis, stocké, et utilisé.<br />
Cela doit donc vous encourager à utiliser plusieurs mots de passe et plusieurs identifiants. Bien sûr, c'est pénible. Nombreux sont les utilisateurs pour qui la simple contrainte d'un mot de passe est un supplice médiéval à base de lame rouillée et de plomb fondu. Mais à chaque fois que vous hésitez, pensez aux conséquences : que se passera-t-il si le mot de passe que je viens de saisir pour m'enregistrer sur ce forum tombe entre de mauvaises mains ? Est-ce que les pirates pourront alors accéder à ma boîte mail avec le même mot de passe ? Est-ce qu'ils pourront entrer dans ma machine ? etc.<br />
Il ne s'agit donc pas de mettre un login et un mot de passe différents partout (même si idéalement ce devrait être le cas). Il s'agit plutôt de hiérarchiser les risques, de définir des périmètres de sécurité. Votre machine est un périmètre de haute sécurité. Un pirate qui y aurait accès pourrait sans doute récupérer des informations bancaires, des informations professionnelles confidentielles, détruire 10 ans de photos de familles non sauvegardées, etc. Votre email professionnel est sans doute au même niveau de sécurité. Un forum internet concernant vos loisirs, sur le quel vous être très assidu, est important, mais moins que votre messagerie. Des forums ou des sites fréquentés très occasionnellement ne méritent probablement pas autant de précautions.<br />
Dans le périmètre "haute sécurité", chaque accès devra avoir un mot de passe fort, et unique. À l'opposé, dans le périmètre "basse sécurité", vous pourrez sans risque réel utiliser le même mot de passe partout. La sécurité est à tout les coups une affaire de compromis entre le confort et les risques que vous acceptez. Plus votre confort est grand, plus vous prenez des risques. Meilleure est votre sécurité, plus elle est contraignante. Il y a simplement des domaines où vous ne pouvez pas vous permettre d'avoir une faible sécurité.</p>
<p>Ne faites pas comme Nick Denton, le fondateur de Gawker Media : n'utilisez pas le même mot de passe ridicule (24862486) partout. Ne partagez jamais un mot de passe par email, chat, ou autre, mais partez du principe que les autres le font. Pour finir, ne faites pas confiance aux dépositaires de vos mots de passe.</p>
<p>Joyeux Noël ;)</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/12/24/1733-que-nous-apprend-laffaire-gawker/' addthis:title='Que nous apprend l&#8217;affaire &laquo;&nbsp;Gawker&nbsp;&raquo; '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2010/12/24/1733-que-nous-apprend-laffaire-gawker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>De la sécurité de vos mots de passe</title>
		<link>http://www.patpro.net/blog/index.php/2010/12/14/1723-de-la-securite-de-vos-mots-de-passe/</link>
		<comments>http://www.patpro.net/blog/index.php/2010/12/14/1723-de-la-securite-de-vos-mots-de-passe/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 11:26:24 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Analyse]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1723</guid>
		<description><![CDATA[En terme de mot de passe, on nous rebat souvent les oreilles avec des recommandations sécuritaires qui tombent sous le sens. Par contre, les arguments qui sous-tendent ces recommandations sont parfois largement infondés. Tout d'abord, on nous dit de ne pas choisir un mot de passe facile à deviner, c'est bien sûr du bon sens. [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/12/14/1723-de-la-securite-de-vos-mots-de-passe/' addthis:title='De la sécurité de vos mots de passe '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>En terme de mot de passe, on nous rebat souvent les oreilles avec des recommandations sécuritaires qui tombent sous le sens. Par contre, les arguments qui sous-tendent ces recommandations sont parfois largement infondés.<br />
Tout d'abord, on nous dit de ne pas choisir un mot de passe facile à deviner, c'est bien sûr du bon sens. On nous dit que le mot de passe doit être long, car les ordinateurs actuels permettent de tester des milliers de mots de passe par seconde. Plus le mot de passe est long, plus il sera long à trouver. Certes. C'est mathématiquement exact. Mais à quoi arrive-t-on si on force les gens à utiliser un mot de passe à la fois long et compliqué ? Ils vont utiliser le même mot de passe partout, ils vont le noter quelque part, etc.<br />
Imaginons un instant qu'un pirate tente de deviner votre mot de passe de messagerie. Il a une très bonne connexion internet, et son ping (le délai qui s'écoule entre le moment où il envoie une requête au serveur, et le moment où le serveur dit qu'il a bien reçu cette requête) est de 10 millisecondes. Il faut ajouter à cela le temps de traitement sur le serveur, et l'envoi de la réponse. Mettons pour simplifier que la totalité de la transaction dure 20 ms. Si votre mot de passe de messagerie fait 8 caractères différents et qu'il utilise des lettres minuscules (26 possibilités), des lettres majuscules (26 possibilités), et des chiffres (10 possibilités), c'est probablement assez correct. Ce mot de passe utilise donc 8 caractères différents pris dans une série de 62. Soit un total de 136325,9 milliards de mots de passe possibles. À raison d'un mot de passe testé toutes les 20 ms, cela donne plus de 864 siècles, pour tester tous les mots de passe.<br />
Maintenant, ajoutez des caractères parmi @#&#038;"'(§!)-_$*/:;.,?+ (20 possibilités), et il faudra presque 9114 siècles pour tester tous les mots de passe.<br />
Moralité, la puissance des ordinateurs permet effectivement de tester des millions de mots de passe par heure, mais la latence des connexions internet rend ce mode d'attaque quasiment impossible, car elle ralentit terriblement le processus.<br />
<span id="more-1723"></span><br />
Les pirates se sont donc rabattus sur trois types d'attaques : l'ingénierie sociale, l'attaque de type "dictionnaire", et l'attaque directe des serveurs.<br />
L'ingénierie sociale, c'est le processus qui consiste à vous faire fournir vous même votre mot de passe, ou à deviner votre mot de passe par les données personnelles que le pirate connaît de vous. Un proche avec qui vous êtes en mauvais terme pourrait tester votre date de naissance, le nom de votre chien, etc. Un pirate qui ne vous connaît pas peut envoyer un <a href="http://www.urbanbike.com/index.php/site/comments/piegeakon-du-jour-caisse-depargne">mail de phishing</a> à toute la planète pour pousser les destinataires à révéler leur login et mot de passe, ou d'autres informations qui ont de la valeur.<br />
Certains poussent le vice jusqu'à mettre en pratique ces techniques au téléphone. Ils vous appellent et font croire qu'ils sont techniciens de tel fournisseur de service, et qu'ils ont besoin de votre mot de passe pour corriger quelque chose sur votre compte.<br />
Les attaques de type "dictionnaire" consistent à tester des couples login/mot de passe, pour une liste de valeurs très répandue uniquement. Le pirate teste quelques milliers d'identifiants classiques (john, root, user1, admin, test...) avec une liste de mots de passe classiques (mots du dictionnaire, mots dérivés du dictionnaire, séries de chiffres come 123456, mots de passe par défaut d'équipement grand public, etc.).<br />
Croyez-le ou pas, ça marche. Les deux techniques précitées sont les plus fréquentes, car elles demandent le moins d'efforts, et peuvent rapporter très gros.<br />
La troisième est la plus spectaculaire. Un groupe de pirates peut s'attaquer à un serveur d'une grosse entreprise spécialisée dans les contenus en ligne, par exemple <a href="http://www.dailytech.com/Gawker+Media+Suffers+Massive+Data+Breach+Courtesy+of+Gnosis/article20384.htm">Gawker Media</a>. Les pirates obtiennent alors l'accès à l'ensemble des comptes utilisateurs (plus d'un million dans le cas de Gawker Media) avec l'ensemble des données personnelles enregistrées : email, login, mot de passe... Bien sûr, les mots de passe sont chiffrés. Mais maintenant que les pirates ont l'accès direct aux mots de passe sans devoir les tester au travers d'une connexion internet, ils peuvent les déchiffrer en utilisant toute la puissance des machines actuelles. Et bien sûr, ils peuvent revendre la liste d'adresse email à des spammers.</p>
<blockquote><p>This weekend we discovered that Gawker Media's servers were compromised,<br />
resulting in a security breach at Lifehacker, Gizmodo, Gawker, Jezebel,<br />
io9, Jalopnik, Kotaku, Deadspin, and Fleshbot. As a result, the user name<br />
and password associated with your comment account were released on the<br />
internet. If you're a commenter on any of our sites, you probably have<br />
several questions.
</p></blockquote>
<p>Outch.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/12/14/1723-de-la-securite-de-vos-mots-de-passe/' addthis:title='De la sécurité de vos mots de passe '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2010/12/14/1723-de-la-securite-de-vos-mots-de-passe/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Installer un serveur dédié &#171;&#160;Source&#160;&#187; sur FreeBSD 8</title>
		<link>http://www.patpro.net/blog/index.php/2010/11/19/1709-installer-un-serveur-dedie-source-sur-freebsd-8/</link>
		<comments>http://www.patpro.net/blog/index.php/2010/11/19/1709-installer-un-serveur-dedie-source-sur-freebsd-8/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 01:11:03 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Logiciel]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1709</guid>
		<description><![CDATA[Source Dedicated Server, le serveur de jeu dédié de Valve pour Team Fortress, Left 4 Dead et Counter Strike (entre autres), est un logiciel Linux ou Windows, propriétaire. Donc les choses ne se présentent pas forcément très bien pour une installation sur FreeBSD. Cependant, il n'y a pas beaucoup d'efforts à faire pour installer et [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/11/19/1709-installer-un-serveur-dedie-source-sur-freebsd-8/' addthis:title='Installer un serveur dédié &#171;&#160;Source&#160;&#187; sur FreeBSD 8 '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p><strong>Source Dedicated Server</strong>, le serveur de jeu dédié de Valve pour Team Fortress, Left 4 Dead et Counter Strike (entre autres), est un logiciel Linux ou Windows, propriétaire. Donc les choses ne se présentent pas forcément très bien pour une installation sur FreeBSD. Cependant, il n'y a pas beaucoup d'efforts à faire pour installer et faire fonctionner ce logiciel grace à la compatibilité Linux de FreeBSD.</p>
<p>Dans un premier temps il faut activer, si ce n'est déjà fait, la compatibilité Linux dans le noyau de FreeBSD :</p>
<pre># chargement manuel du module
kldload /boot/kernel/linux.ko
# activation du chargement automatique au démarrage
echo 'linux_enable="YES"' &gt;&gt; /etc/rc.conf </pre>
<p>Ensuite (et pas avant), on peut installer les librairies Linux. Pour FreeBSD 8, il faut installer la version f10 :</p>
<pre>portinstall -PP linux_base-f10</pre>
<p>Attention, si vous êtes en FreeBSD 64 bits (amd64), le package refusera de s'installer, il faudra alors utiliser :</p>
<pre>portinstall linux_base-f10</pre>
<p>On termine de préparer l'environnement de compatibilité Linux en montant le système de fichier <code>procfs</code>. Il faut ajouter la ligne suivante au fichier <code>/etc/fstab</code></p>
<pre>linproc         /compat/linux/proc      linprocfs       rw 0 0</pre>
<p>puis faire un </p>
<pre>mount -a</pre>
<p>Enfin, on peut installer le client <code>steam</code> : </p>
<pre>portinstall linux-steam</pre>
<p>En réalité, c'est seulement un logiciel de mise à jour du client <code>steam</code> qui est installé, il faut lancer la mise à jour pour que la vraie commande <code>steam</code> soit installée. Je fais cette étape deux fois :</p>
<pre>cd /usr/local/steam/
./steam
# on attend la fin de l'exécution
# puis on recommence
./steam</pre>
<p>Le binaire <code>steam</code> est maintenant installé, à jour, et totalement fonctionnel. Via ce client, il est possible d'installer n'importe quel jeu compatible. Voilà comment procéder pour installer Left 4 Dead 2 :</p>
<pre>./steam -command update -game left4dead2 -dir /chemin/du/jeu</pre>
<p>On remplacera <code>/chemin/du/jeu</code> par le chemin du répertoire dans le quel on souhaite stocker les fichiers du jeu. Attention, pour Left 4 Dead 2 il y a environ 8 Go à télécharger. Si vous êtes sur de l'UFS, c'est donc 8 Go de stockage qui seront consommés. Si vous êtes sur un volume ZFS avec compression GZip, il faut compter environ 4,2 Go d'espace disque consommé. Le téléchargement est assez long, faites une pause, voire même, lancez la commande avant d'aller vous coucher.</p>
<p>Après cela, le répertoire <code>/chemin/du/jeu</code> contiendra un répertoire <code>left4dead2</code>. Dans ce dernier se trouve un script de lancement qui permet de démarrer le serveur dédié Source : <code>srcds_run</code>.<br />
Voici un exemple de lancement :</p>
<pre>cd /chemin/du/jeu/left4dead2
./srcds_run -ip 192.168.1.1 +sv_lan 1</pre>
<p>L'option <code>-ip</code> permet d'imposer l'IP sur la quelle le serveur écoute. C'est très utile car le script est d'une bêtise monumentale. En effet, pour une raison que j'ignore, le serveur dédié se lance par défaut en utilisant la toute première IP configurée dans le fichier <code>/etc/rc.conf</code> même si la ligne est commentée !<br />
C'est à dire que si votre <code>rc.conf</code> contient les lignes suivantes :</p>
<pre>#ifconfig_em0="inet 192.168.128.201  netmask 255.255.255.0"
ifconfig_em0="inet 193.30.227.216  netmask 255.255.255.192"</pre>
<p>et bien cet abruti de serveur tente de se lancer sur l'IP 192.168.128.201, alors que, bien sûr, l'IP n'est pas active. Épargnez votre santé mentale, imposez dès le départ une IP à <code>srcds</code>.<br />
L'option <code>+sv_lan 1</code> quant à elle impose un fonctionnement sur le LAN uniquement, ce qui permet aisément de tester le fonctionnement du serveur sans l'ouvrir sur le monde.</p>
<p>Vous devrez veiller à quelques points de détail : </p>
<ul type="circle">
<li>le firewall doit autoriser les connexions TCP et UDP sur les ports 26901 et 27015.</li>
<li>le jeu peut (doit) être lancé avec un utilisateur non privilégié. Créez un compte pour l'occasion, avec un shell <code>/bin/nologin</code>, et toute autre mesure de protection que vous jugerez nécessaire.<br />
Attention, faire tourner le jeu avec un utilisateur non privilégié n'est pas forcément très simple, surtout si vous l'avez installé en root. J'ai découvert que lancer le jeu une première fois en root peut régler certains problèmes.</li>
<li>l'utilisateur en question devra notamment pouvoir écrire dans les répertoires <code>/chemin/du/jeu/left4dead2/update</code>, <code>/chemin/du/jeu/left4dead2/left4dead2</code> et <code>/chemin/du/jeu/left4dead2/left4dead2/{downloads,logs}</code> et dans les fichiers <code>/chemin/du/jeu/left4dead2/left4dead2/*.cache</code></li>
<li>il devra aussi pouvoir exécuter les fichiers <code>/chemin/du/jeu/left4dead2/srcds_run</code> <code>/chemin/du/jeu/left4dead2/srcds_linux</code></li>
</ul>
<p>Pour un utilisateur non privilégié, en "nologin", le moyen fiable de lancer le serveur est d'utiliser sudo, dans un screen pour être tranquille :</p>
<pre>cd /chemin/du/jeu/left4dead2/
screen nice -n -5 sudo -u utilisateur_steam ./srcds_run -ip 192.168.1.1</pre>
<p>Avec tout ceci, votre serveur doit être fonctionnel, et permet déjà de jouer. Le plus dur reste à faire, puisque de toute l'histoire de l'informatique, ce sont les serveurs de jeu qui détiennent la triste palme des logiciels les moins bien documentés au monde. Créez un fichier <code>/chemin/du/jeu/left4dead2/left4dead2/cfg/server.cfg</code> et testez des combinaisons jusqu'à obtenir le résultat souhaité.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/11/19/1709-installer-un-serveur-dedie-source-sur-freebsd-8/' addthis:title='Installer un serveur dédié &laquo;&nbsp;Source&nbsp;&raquo; sur FreeBSD 8 '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2010/11/19/1709-installer-un-serveur-dedie-source-sur-freebsd-8/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Capture et analyse distante avec Wireshark</title>
		<link>http://www.patpro.net/blog/index.php/2010/10/13/1698-capture-et-analyse-distante-avec-wireshark/</link>
		<comments>http://www.patpro.net/blog/index.php/2010/10/13/1698-capture-et-analyse-distante-avec-wireshark/#comments</comments>
		<pubDate>Wed, 13 Oct 2010 10:00:28 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1698</guid>
		<description><![CDATA[Wireshark est un outil sympathique, quand vient le moment d'analyser ce qui passe sur un réseau, qui fait quoi, quel protocole prend toute votre bande passante, etc. Malheureusement, la machine sur la quelle on voudrait faire l'analyse n'est pas toujours celle sur la quelle vous pouvez lancer le logiciel. Il est possible facilement de capturer [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/10/13/1698-capture-et-analyse-distante-avec-wireshark/' addthis:title='Capture et analyse distante avec Wireshark '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wireshark.org/">Wireshark</a> est un outil sympathique, quand vient le moment d'analyser ce qui passe sur un réseau, qui fait quoi, quel protocole prend toute votre bande passante, etc. Malheureusement, la machine sur la quelle on voudrait faire l'analyse n'est pas toujours celle sur la quelle vous pouvez lancer le logiciel.<br />
Il est possible facilement de capturer les paquets voulus sur une machine, et de les analyser à postériori sur une autre. Par contre, effectuer une analyse en direct et à distance nécessite d'utiliser quelques astuces.<br />
Avant d'aller plus loin dans les explications, voici quelques pré-requis :</p>
<ul type="circle">
<li>Vous devez installer Wireshark sur votre machine (<strong>A</strong>)</li>
<li>Vous devez aussi pouvoir vous connecter en root via SSH sur la machine que vous voulez utiliser pour la capture (<strong>B</strong>)</li>
</ul>
<p>Dans un premier temps, il s'agit de créer un socket UNIX via <code>mkfifo</code>. C'est ce socket que votre Wireshark va lire en local sur la machine <strong>A</strong>.</p>
<pre>mkfifo capture.fifo</pre>
<p>Dans un deuxième temps, il faut ouvrir une connexion SSH de <strong>A</strong> vers <strong>B</strong>, lancer <code>tcpdump</code> dans cette connexion, et rediriger la sortie standard dans votre tout nouveau socket.</p>
<pre>ssh root@machineB tcpdump -s 0 -U -n -w - -i ath0 &gt;  capture.fifo</pre>
<p>Remplacez <code>ath0</code> par le nom de l'interface réseau qui vous intéresse, et éventuellement, ajoutez aux options de <code>tcpdump</code> les filtres adéquats pour affiner votre analyse.<br />
Attention, pour une connexion avec mot de passe, ssh ne vous demandera le fameux sésame qu'au moment où Wireshark ouvrira le socket. C'est à dire à l'étape suivante.</p>
<p>Dans un troisième et dernier temps, vous pouvez lancer Wireshark sur la machine <strong>A</strong> si ce n'est déjà fait, et le configurer pour lire votre socket <code>capture.fifo</code>. Pour cela, ouvrez les options de capture, et saisissez le chemin de votre socket dans le champ "interface" :</p>
<p><img src="/blog/wp-content/uploads/2010/10/wireshark_capture.jpg" alt="" title="wireshark_capture" width="580" height="526" class="alignnone size-full wp-image-1699" /></p>
<p>Enfin, cliquez sur "Start" pour lancer la capture, et si nécessaire, tapez votre mot de passe pour la machine <strong>B</strong> dans la fenêtre de terminal où votre connexion SSH est établie.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/10/13/1698-capture-et-analyse-distante-avec-wireshark/' addthis:title='Capture et analyse distante avec Wireshark '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2010/10/13/1698-capture-et-analyse-distante-avec-wireshark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concours photo &#171;&#160;La Vie en Rose&#160;&#187;</title>
		<link>http://www.patpro.net/blog/index.php/2010/09/14/1672-concours-photo-la-vie-en-rose/</link>
		<comments>http://www.patpro.net/blog/index.php/2010/09/14/1672-concours-photo-la-vie-en-rose/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 09:53:26 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Grrr]]></category>
		<category><![CDATA[Photo]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1672</guid>
		<description><![CDATA[C'est malheureux à dire, mais une fois de plus je constate que le plaisir du plus grand nombre est gâché par la bêtise d'une minorité. Finalement ce n'est rien d'autre qu'une vraie constante de la nature humaine qui se vérifie aujourd'hui avec le concours photo "La Vie en Rose" organisé dans le cadre de la [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/09/14/1672-concours-photo-la-vie-en-rose/' addthis:title='Concours photo &#171;&#160;La Vie en Rose&#160;&#187; '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>C'est malheureux à dire, mais une fois de plus je constate que le plaisir du plus grand nombre est gâché par la bêtise d'une minorité. Finalement ce n'est rien d'autre qu'une vraie constante de la nature humaine qui se vérifie aujourd'hui avec le <a href="http://www.biennaledeladanse.com/fr/lm/part2/test-concours-photo/votez.html">concours photo "La Vie en Rose" organisé dans le cadre de la biennale de la danse</a>.<br />
<a href="http://confusion7.free.fr/"><img src="/blog/wp-content/uploads/2010/09/cpht_55_photo_280.jpg" alt="photo (c) Thomas Gasparetto" title="cpht_55_photo_280" width="280" height="187" class="size-full wp-image-1677 alignright" /></a>Le but du jeu est simple : chaque personne peut envoyer jusqu'à trois photos, prises pendant le défilé de la biennale, et illustrant le thème de "la vie en rose". Chaque visiteur (adresse IP) peut voter une fois par jour pour sa photo favorite.<br />
Les organisateurs ont eu en plus la bonne idée de ne pas afficher toutes les photos à chaque visiteur. Ainsi, avant d'avoir voter, vous pouvez visionner un peu plus de 30 pages de 8 photos chacune sélectionnées au hasard dans la masse de photos des candidats, et présentées dans un ordre aléatoire. Vous pouvez alors voter pour un seul cliché. Après votre vote, vous pouvez visionner, si le cœur vous en dit, plus de 140 pages de photos, classées par ordre de nombre de votes.</p>
<p>Quelques utilisateurs sont tout de même parvenus à pervertir ce système de vote. Ce n'était pas bien compliqué, c'est certain, mais était-ce bien nécessaire ? Ils ont localisé dans le code HTML une adresse qui permet de voter pour une photo donnée sans l'étape laborieuse du visionnage. Ils ont alors sans aucun doute transmis l'URL adéquate à leurs "amis" de facebook, et c'est ainsi que la plupart des photos en tête de classement sont à la fois totalement hors sujet et complètement inintéressantes. On en voit même certaines gagner plus de 200 votes en quelques minutes. Le pire, c'est qu'il est même techniquement possible de faire voter les gens pour une photo précise à leur insu.</p>
<p>Je ne suis pas surpris que des types pas drôles et sans grande morale se livrent à ce genre de sport. Je suis juste un peu écœuré pour les participants honnêtes, dont les photos sont parfois très jolies et pertinentes, car ils ne seront pas récompensés.<br />
Comment peut on encore participer de bonne foi à ce genre de concours, si on sait que de toute manière seuls les plus roublards, les plus tricheurs, les moins finauds gagneront ?</p>
<p>crédit photo : Thomas Gasparetto</p>
<p><strong>edit</strong> : le règlement du concours a été mis à jour, le choix des gagnants sera fait par un jury. Voilà qui est une bonne nouvelle (et qui ne me laisse aucune chance ;) )</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/09/14/1672-concours-photo-la-vie-en-rose/' addthis:title='Concours photo &laquo;&nbsp;La Vie en Rose&nbsp;&raquo; '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2010/09/14/1672-concours-photo-la-vie-en-rose/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quelques nouveautés</title>
		<link>http://www.patpro.net/blog/index.php/2010/08/27/1655-quelques-nouveautes/</link>
		<comments>http://www.patpro.net/blog/index.php/2010/08/27/1655-quelques-nouveautes/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 21:49:20 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1655</guid>
		<description><![CDATA[En ce début d'année (scolaire, puisque dans l'éducation nationale on fonctionne comme ça), j'ai décidé d'ajouter une version "mobile" à ce blog, et à ma galerie photo. Mon entourage connaît en général mon dédain plus que profond pour tout ce qui ressemble à un téléphone permettant d'accéder à internet (tous les iBidules en général, en [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/08/27/1655-quelques-nouveautes/' addthis:title='Quelques nouveautés '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>En ce début d'année (scolaire, puisque dans l'éducation nationale on fonctionne comme ça), j'ai décidé d'ajouter une version "mobile" à ce blog, et à ma galerie photo. Mon entourage connaît en général mon dédain plus que profond pour tout ce qui ressemble à un téléphone permettant d'accéder à internet (tous les iBidules en général, en fait). J'aurai donc pu facilement m'abstenir de passer de longues heures à ajuster une version "mobile" de mes sites. Finalement, j'ai réalisé que c'est pour moi une manière ironique et provocante d'aller au bout de ma démarche&nbsp;: utilisateurs de iBidules, vous aurez droit à une version amputée du site. Sans doute bien plus lisible, mais partielle.<br />
Cela dit, et sans mauvais esprit aucun&nbsp;: bonne visite à tous.<br />
<img src="/blog/wp-content/uploads/2010/08/capture-iphone.jpg" alt="" title="capture-iphone" width="580" height="313" class="alignnone size-full wp-image-1656" /></p>
<p>Et puis, pour justifier le pluriel de mon titre&nbsp;: j'ai aussi cédé aux sirènes des réseaux sociaux, puisque je suis désormais inscrit sur <a href="http://fr.linkedin.com/in/patrickproniewski">LinkedIn</a> et <a href="http://www.viadeo.com/fr/profile/patrick.proniewski">Viadeo</a> (Shame. On. Me.).</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/08/27/1655-quelques-nouveautes/' addthis:title='Quelques nouveautés '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2010/08/27/1655-quelques-nouveautes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sylights : une idée lumineuse ?</title>
		<link>http://www.patpro.net/blog/index.php/2010/06/21/1619-sylights-une-idee-lumineuse/</link>
		<comments>http://www.patpro.net/blog/index.php/2010/06/21/1619-sylights-une-idee-lumineuse/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 13:20:44 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Photo]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[matériel]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1619</guid>
		<description><![CDATA[Sylights, c'est un site web intéractif qui vous permet de construire et partager des plans d'installation de lumières pour des prises de vues. Si vous êtes photographe, et que vous travaillez souvent avec du matériel pour façonner votre lumière, vous comprenez ce dont il s'agit. Boîtes à lumière, réflecteurs, "gobo", fonds, flashes… tout est là, [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/06/21/1619-sylights-une-idee-lumineuse/' addthis:title='Sylights : une idée lumineuse ? '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sylights.com"><img src="http://www.patpro.net/blog/wp-content/uploads/2010/06/sylights.png" alt="" title="sylights" width="272" height="69" class="alignright size-full wp-image-1621" /></a> <a href="http://www.sylights.com">Sylights</a>, c'est un site web intéractif qui vous permet de construire et partager des plans d'installation de lumières pour des prises de vues. Si vous êtes photographe, et que vous travaillez souvent avec du matériel pour façonner votre lumière, vous comprenez ce dont il s'agit.<br />
Boîtes à lumière, réflecteurs, "gobo", fonds, flashes… tout est là, ou presque, pour vous permettre de cartographier fidèlement vos montages de prise de vue. Il manque tout de même de quoi annoter les plans, et peut être quelques éléments comme des murs.</p>
<p>Je pense que c'est un très bon complément à Flickr (même si je n'utilise pas ce dernier).<br />
Sylights devrait s'étoffer rapidement, avec des fonctions d'annotation, et la possibilité de poster des photos illustrant le montage de lumière décrit (ça semble primordial !). </p>
<p>Un petit exemple tout simple pour la route : <a href="http://www.sylights.com/patpro/218-premier-essai">mon premier essai</a>.</p>
<p>L'avenir nous dira si c'est une idée lumineuse ou pas. Mais quand les plans seront ré-éditables, qu'on pourra y faire des annotations, et qu'on pourra les "hot-linker" depuis un blog, ça deviendra certainement un outil de référence !</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/06/21/1619-sylights-une-idee-lumineuse/' addthis:title='Sylights : une idée lumineuse ? '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2010/06/21/1619-sylights-une-idee-lumineuse/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Créer un proxy personnalisé avec launchd (2/2)</title>
		<link>http://www.patpro.net/blog/index.php/2010/03/23/1441-creer-un-proxy-personnalise-avec-launchd-22/</link>
		<comments>http://www.patpro.net/blog/index.php/2010/03/23/1441-creer-un-proxy-personnalise-avec-launchd-22/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 06:10:53 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[MacOSX]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1441</guid>
		<description><![CDATA[Cet article est la suite de la première partie : "Créer un proxy personnalisé avec launchd (1/2)" Coder votre proxy personnalisé. C'est théoriquement l'étape du travail la plus intéressante, puisque c'est ici que l'on peut exprimer toute sa créativité, et surtout apporter la réponse à un de ses problèmes. Comme le programme sera lancé à [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/03/23/1441-creer-un-proxy-personnalise-avec-launchd-22/' addthis:title='Créer un proxy personnalisé avec launchd (2/2) '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>Cet article est la suite de la première partie : "<a href="/blog/index.php/2010/03/22/1424-creer-un-proxy-personnalise-avec-launchd-12/">Créer un proxy personnalisé avec launchd (1/2)</a>"</p>
<h4>Coder votre proxy personnalisé.</h4>
<p>C'est théoriquement l'étape du travail la plus intéressante, puisque c'est ici que l'on peut exprimer toute sa créativité, et surtout apporter la réponse à un de ses problèmes. Comme le programme sera lancé à la demande par launchd, et que c'est ce dernier qui va gérer le socket de communication avec le client, la tâche est simplifiée. En contrepartie, le programme ne peut pas être trop lourd, car des lancements à répétition seraient alors pénalisants pour le reste du système.<br />
Mac OS X est livré avec de nombreux langages de script et de programmation (C, Java, PHP, Python, Ruby, Perl, Shell…). Contrairement à mon habitude, j'ai choisi de coder mon proxy en PHP. De la sorte, je pouvais réutiliser mon code dans un autre contexte au cas où le fonctionnement en proxy ne donnait pas satisfaction.<br />
Voici le squelette de mon script PHP, à titre d'exemple&nbsp;:</p>
<pre>#!/usr/bin/php
&lt;?php
// get request from http client
$request = explode(" ", trim(fgets(STDIN)));
$MyGET = $request[1];
// curl request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $MyGET);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
// cleanup
curl_close($ch);   

// callback
function fetch_author($matches) {
    ../..
    return $matches[1].$matches[2].$author[1]." ".$matches[3];
}

// html parsing
$apresreplace = preg_replace_callback('/.../',"fetch_author",$output);

// output
echo $apresreplace;
?&gt;</pre>
<p>J'ai volontairement simplifié et tronqué mon code. La seule chose qui compte est le squelette du programme. Première remarque, le script fonctionne en mode "ligne de commande". C'est du PHP, mais il ne sera pas interprété par Apache, donc les variables intéressantes de <code>$_SERVER</code>, de <code>$_GET</code>, ... n'existent pas. Je récupère la requête du client HTTP en lisant tout simplement la première ligne de <code>STDIN</code>.<br />
Ensuite, j'utilise les fonctions de la librairie CURL pour aspirer le contenu distant qui correspond à l'URL transmise par le client. Puis je fais sur ce contenu un rechercher-remplacer via la fonction <code> preg_replace_callback</code> et via la fonction attachée que j'ai créée (dite fonction de <em>callback</em>).<br />
Les détails ne sont pas importants, à ce stade ce qu'il faut bien comprendre, c'est que mon script de proxy a reçu l'URL demandée par le client. Il a téléchargé le contenu correspondant à cette URL, et il l'a enrichi selon mes besoins. La dernière ligne du script renvoie dans la sortie standard le contenu enrichi. Le client (mon lecteur de flux RSS) reçoit alors la réponse à sa requête.</p>
<h4>Lancer le proxy à la demande</h4>
<p>Launchd est l'outil idéal pour lancer le proxy dès qu'une connexion est initiée dans sa direction. Le fonctionnement est alors similaire à inetd (ou xinetd). La problématique est la même que dans le cas de la <a href="/blog/index.php/2006/05/12/30-tunnel-ssh-a-la-demande-grace-a-launchd">création d'un tunnel ssh à la demande</a>, donc je passe sur les détails.<br />
Voici le fichier plist de configuration qu'il faut charger dans launchd pour activer le proxy&nbsp;:</p>
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
&lt;dict&gt;
        &lt;key&gt;Debug&lt;/key&gt;
        &lt;false/&gt;
        &lt;key&gt;Label&lt;/key&gt;
        &lt;string&gt;tld.monsuper.proxy&lt;/string&gt;
        &lt;key&gt;ProgramArguments&lt;/key&gt;
        &lt;array&gt;
                &lt;string&gt;/chemin/du/programme/de/proxy&lt;/string&gt;
        &lt;/array&gt;
        &lt;key&gt;Sockets&lt;/key&gt;
        &lt;dict&gt;
                &lt;key&gt;Listeners&lt;/key&gt;
                &lt;dict&gt;
                        &lt;key&gt;SockNodeName&lt;/key&gt;
                        &lt;string&gt;127.0.0.1&lt;/string&gt;
                        &lt;key&gt;SockServiceName&lt;/key&gt;
                        &lt;string&gt;8080&lt;/string&gt;
                        &lt;key&gt;SockType&lt;/key&gt;
                        &lt;string&gt;stream&lt;/string&gt;
                &lt;/dict&gt;
        &lt;/dict&gt;
        &lt;key&gt;StandardErrorPath&lt;/key&gt;
        &lt;string&gt;/tmp/proxy.err&lt;/string&gt;
        &lt;key&gt;inetdCompatibility&lt;/key&gt;
        &lt;dict&gt;
                &lt;key&gt;Wait&lt;/key&gt;
                &lt;false/&gt;
        &lt;/dict&gt;
&lt;/dict&gt;
&lt;/plist&gt;</pre>
<p>Après avoir adapté le Label, le chemin du programme, le port de connexion, et éventuellement le fichier de stderr, il faut enregistrer ce fichier plist dans <code>~/Library/LaunchDaemons/</code> (pour vous seul) ou dans <code>/Library/LaunchDaemon/</code> (pour tous les utilisateurs de la machine). Ensuite il faut le charger via <code>launchctl load /chemin/du/fichier.plist</code>.</p>
<p>C'est terminé. Toutes les briques du proxy personnalisé sont en place. Le client (si il honore bien les préférences systèmes) utilisera le proxy désigné dans le fichier .PAC. Launchd recevra la requête et la transmettra au programme du proxy. Ce dernier fera les traitements sur les données téléchargées, et renverra le résultat au client.</p>
<p><em>edit : style et coquilles</em><br />
<em>edit : ajout de l'IP 127.0.0.1 pour le bind, ça évite que le proxy puisse êtes utilisé par n'importe qui sur le réseau… :)</em></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2010/03/23/1441-creer-un-proxy-personnalise-avec-launchd-22/' addthis:title='Créer un proxy personnalisé avec launchd (2/2) '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2010/03/23/1441-creer-un-proxy-personnalise-avec-launchd-22/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

