<?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>Duncane&#039;s blog</title>
	<atom:link href="http://www.duncane.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.duncane.net</link>
	<description>Une tranche d&#039;informatique, une tranche d&#039;humour et un soupçon de politique</description>
	<lastBuildDate>Fri, 27 Jan 2012 20:25:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Les 22 Règles du succès d&#8217;une manifestation</title>
		<link>http://www.duncane.net/2012/01/27/22-regles-manifestation/</link>
		<comments>http://www.duncane.net/2012/01/27/22-regles-manifestation/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 20:23:27 +0000</pubDate>
		<dc:creator>Duncane</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Les News]]></category>
		<category><![CDATA[Anonymous]]></category>
		<category><![CDATA[Manifestation]]></category>

		<guid isPermaLink="false">http://www.duncane.net/?p=535</guid>
		<description><![CDATA[Voilà une vidéo que j&#8217;ai trouvé sur Youtube que je souhaite rappeler à ceux qui s&#8217;apprêtent à manifester contre la censure du net ce week end ! http://www.youtube.com/watch?v=iv0KyzWybmI Ci-dessous le texte de la vidéo, repris depuis la page youtube ou il figure. Cette vidéo est conçue comme un guide pour les Anonymous prêts à s&#8217;engager [...]]]></description>
			<content:encoded><![CDATA[<p>Voilà une vidéo que j&#8217;ai trouvé sur Youtube que je souhaite rappeler à ceux qui s&#8217;apprêtent à manifester contre la censure du net ce week end !</p>
<p><span id="more-535"></span></p>
<p><a href="http://www.youtube.com/watch?v=iv0KyzWybmI&#038;fmt=18">http://www.youtube.com/watch?v=iv0KyzWybmI</a></p>
<p>Ci-dessous le texte de la vidéo, repris depuis la page youtube ou il figure.</p>
<p>Cette vidéo est conçue comme un guide pour les Anonymous prêts à s&#8217;engager dans leur 1ère manifestation publique. Elle fournira également un rappel pour ceux d&#8217;entre vous qui ont l&#8217;expérience de cette forme d&#8217;action. Le but de la manifestation dans une société moderne occidentale est de transmettre un message au public.<br />
Conformément à cet objectif, Anonymous a conçu 22 règles que les anonymous peuvent suivre afin de s&#8217;assurer une victoire épique, et pour vous, aucune perte de point de vie.<br />
Règle n°0: Les règles n°1 et n°2 continuent de s&#8217;appliquer sur Internet. Vos memes ne sont pas, à ce stade, quelque chose que le monde réel peut apprécier. Bien que parler entre collègues Anonymous des memes est acceptable, reste concentré sur l&#8217;objectif.<br />
REGLE n°1: Reste cool.<br />
REGLE n°2: Reste cool. Surtout si tu es harcelé. Tu es un ambassadeur des Anonymous. Bien que les personnes qui tentent de perturber votre démonstration t&#8217;énervent, tu ne dois pas perdre ton sang-froid. Cela pourrait nuire à la protestation et ternir la réputation des Anonymous.<br />
REGLE n°3: Se conformer aux ordres des agents de police par-dessus tout. Faire autrement, c&#8217;est nuire à la manif. dans son ensemble et peut compromettre le succès de votre action. Ne pas demander les n° de badge sauf si vous êtes traités de manière vraiment abusive, car cela mettra en colère les agents de police.<br />
REGLE n°4: Prévenir la préfecture. La plupart des administrations ont des règles concernant les manif. publiques et/ou préfèrent être informées de leur déroulement. Connaître les règles de votre juridiction et les respecter.<br />
REGLE n°5: Toujours se tenir de l&#8217;autre côté de la rue du lieu contesté.<br />
REGLE n°6: En l&#8217;absence d&#8217;une route trouver une autre barrière naturelle entre vous et la cible de la protestation. Cela rendra plus difficile pour les individus hostiles à votre cause de venir vous harceler.<br />
REGLE n°7: Rester sur la voie publique. Vous pouvez être accusé de violation de domicile sinon.<br />
REGLE n°8: Pas de violence.<br />
REGLE n°9: Aucune arme. La manif. est un événement pacifique. Vos armes, vous n&#8217;en aurez pas besoin.<br />
REGLE n°10: Pas d&#8217;alcool. La violation de cette règle peut facilement déclencher une violation des règles 1 &amp; 2.<br />
REGLE n°11: Pas de graffiti, de destruction ou de vandalisme.<br />
REGLE n°12: Si vous voulez faire quelque chose de stupide choisissez un autre jour.<br />
Celles-ci doivent être explicites. La violation de ces règles lors d&#8217;une manifestation ternirait la réputation des Anonymous, nuirait à la manif. elle-même et vous rendrait vulnérable auprès des forces de l&#8217;ordre.<br />
REGLE n°13: Anonymous est légion. Ne jamais être seul. Isolé lors d&#8217;une manif., vous êtes une cible pour les personnes qui souhaitent provoquer une réaction de colère de votre part ou de votre groupe.<br />
En accord avec ce principe:<br />
REGLE n°14: Organiser des escouades de 10 à 15 personnes.<br />
REGLE n°15: 1 ou 2 mégaphones/équipe. Un mégaphone est utile pour maintenir la cohésion d&#8217;ensemble d&#8217;une manif. et la diffusion de votre message. Toutefois un trop grand nombre peut dérouter le public et vous rendre incompréhensible.<br />
REGLE n°16: Connaître le code vestimentaire. Instaurer un code vestimentaire décontracté mais sérieux vous aidera à maintenir la cohésion et amènera le public à vous prendre au sérieux.<br />
REGLE n°17: Couvrez votre visage. Cela permettra d&#8217;éviter de vous identifier à partir de vidéos prises par des personnes hostiles, d&#8217;autres manifestants ou des forces de l&#8217;ordre.<br />
Foulards, chapeaux et lunettes de soleil, les masques ne sont pas nécessaires, et les enfiler dans le cadre d&#8217;une manif. publique est interdit dans certains pays.<br />
REGLE n°18: Prévoir des bouteilles d&#8217;eau.<br />
REGLE n°19: Porter de bonne chaussures.<br />
Suivre ces règles assurera votre confort lors de la manif. Gardez à l&#8217;esprit que les manif. peuvent souvent être longues.<br />
REGLE n°20: Affiches, flyers, et slogans.<br />
Préparez les vôtres à l&#8217;avance. Assurez-vous que les affiches soient assez grandes pour être lues. Veillez également à ce que le texte sur vos affiches et vos pancartes soit pertinent avec l&#8217;objectif de la manif.<br />
REGLE n°21: Préparez des dépliants lisibles, simples et précis pour les donner à ceux qui souhaitent en savoir plus sur les motivations de vos actes.<br />
Enfin<br />
REGLE n°22: Documenter la manif. Vidéos et photos de l&#8217;événement peuvent être utilisées pour corroborer votre version des faits si les forces de l&#8217;ordre devaient intervenir.<br />
En outre, la diffusion des images et des vidéos de vos actions héroïques partout sur internet donnera de l&#8217;inspiration, incitant d&#8217;autres Anonymous à suivre votre glorieux exemple.<br />
Cependant, gardez à l&#8217;esprit que le succès de la manif. est un ensemble de détails basé sur le bon comportement de tous. Ignorez ces règles à vos risques et périls. Suivez-les et la victoire sera vôtre.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.duncane.net/2012/01/27/22-regles-manifestation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Mobile est arrivé !</title>
		<link>http://www.duncane.net/2012/01/16/free-mobile-est-arrive/</link>
		<comments>http://www.duncane.net/2012/01/16/free-mobile-est-arrive/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 12:48:30 +0000</pubDate>
		<dc:creator>Duncane</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Les News]]></category>
		<category><![CDATA[4ème licence 3G]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[Iliad]]></category>

		<guid isPermaLink="false">http://www.duncane.net/?p=516</guid>
		<description><![CDATA[J&#8217;en parlais il y&#8217;a quelques temps déjà, Free a obtenu la 4ème licence 3G. Tout le net en parle depuis mardi, l&#8217;offre existe, sous réserve de recevoir une SIM, de l&#8217;activer, etc &#8230; J&#8217;en parle ce soir, pour avoir joué un peu avec ce jour : It works ! Donc nous avons un réseau, en [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;en parlais il y&#8217;a quelques temps déjà, Free a obtenu la 4ème licence 3G.</p>
<p>Tout le net en parle depuis mardi, l&#8217;offre existe, sous réserve de recevoir une SIM, de l&#8217;activer, etc &#8230;</p>
<p>J&#8217;en parle ce soir, pour avoir joué un peu avec ce jour : It works !</p>
<p><span id="more-516"></span></p>
<p>Donc nous avons un réseau, en itinérance sur le réseau Orange, quand le réseau Free n&#8217;est pas disponible.</p>
<p>L&#8217;installation de l&#8217;APN pour la partie data se fait de façon assez simple sur Android, via une application disponible sur le Market à l&#8217;adresse suivante : <a href="https://market.android.com/details?id=fr.freemobile.android.mobileconfig">https://market.android.com/details?id=fr.freemobile.android.mobileconfig</a> ou via le code barre ci-dessous.</p>
<div class="wp-caption aligncenter" style="width: 174px"><img title="MobileConfig - FreeMobile" src="http://www.duncane.net/qr_img.php?d=market://search?q=pname:fr.freemobile.android.mobileconfig" alt="" width="164" height="164" /><p class="wp-caption-text">MobileConfig - FreeMobile</p></div>
<p>Me voilà donc, samedi soir, ayant reçu ma carte SIM FreeMobile dans la journée, avec mon téléphone (préalablement désimlocké). Une news, tombée plus tôt dans la journée faisait état d&#8217;une possibilité d&#8217;activation de la SIM sur le réseau Free, via la page abonné en fin d&#8217;après midi.</p>
<p>Bêtement, donc, et un peu impatient, je rafraîchissais régulièrement la page jusqu&#8217;à enfin voir le sésame : &laquo;&nbsp;Activez votre carte SIM&nbsp;&raquo;.</p>
<p>Ni une, ni deux, je m&#8217;empresse de saisir le numéro ICCID de ma carte SIM, et de valider, jusque là aucun problème, il est 19h45.</p>
<p>Je mets donc la carte SIM dans mon téléphone (je n&#8217;ai pas choisi l&#8217;option de portabilité pour certaines raisons), et je l&#8217;allume.</p>
<p>Première surprise, le code PIN par défaut est 1234 et non pas le traditionnel 0000, en regardant bien, en plus c&#8217;était marqué au dos de la carte en plastique qui contenait la SIM, n&#8217;empêche qu&#8217;en attendant je me suis fait peur.</p>
<p>Deuxième surprise (qui n&#8217;en était pas vraiment une, puisque je m&#8217;attendais à de l&#8217;attente), le réseau n&#8217;était pas tout à fait actif, et il m&#8217;a fallut attendre minuit pour que la carte SIM puisse s&#8217;enregistrer sur le réseau.</p>
<p>En bilan, je retiendrais les éléments suivants : tout d&#8217;abord, j&#8217;ai été très agréablement surpris de la vitesse de réception de la carte SIM, je m&#8217;attendais à l&#8217;avoir la semaine prochaine, voir même en fin de semaine prochaine.</p>
<p>Ensuite, côté configuration, simple et sans bavure via l&#8217;application disponible sur le Market, l&#8217;accès data est même plus que convenable, puisque chez moi, ou je plafonne typiquement à un débit de 800kbps j&#8217;ai réussi à faire des pointes à 2Mbps, et je suis même monté à plus de 4Mbps dès que je me suis aventuré dehors (histoire d&#8217;avoir une meilleure réception).</p>
<p>Bref de mon point de vue, lancement plutôt réussi pour Free Mobile, malgré des difficultés prévisibles au moment de l&#8217;inscription.</p>
<p>Reste à vérifier la stabilité du réseau lors de sa montée en charge, selon certaines informations que l&#8217;on m&#8217;a communiqué, nous n&#8217;étions qu&#8217;un peu plus de 20 000 Freenautes à profiter du réseau Free Mobile ce Week End, pour un peu plus de 500 000 en attente d&#8217;activation (principalement en attente de portabilité de numéro).</p>
<p>Note : que sur la première semaine d&#8217;ouverture des inscriptions, et sur la seule population des abonnées Free ADSL, Xavier Niel a déjà atteint 1/6ème de son objectif de 3 millions d&#8217;abonnés.</p>
<p>Affaire à suivre !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.duncane.net/2012/01/16/free-mobile-est-arrive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FTTH powered</title>
		<link>http://www.duncane.net/2011/12/07/ftth-powered/</link>
		<comments>http://www.duncane.net/2011/12/07/ftth-powered/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 11:03:44 +0000</pubDate>
		<dc:creator>Duncane</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Ressources IT]]></category>
		<category><![CDATA[Fibre Optique]]></category>
		<category><![CDATA[FTTH]]></category>
		<category><![CDATA[Orange]]></category>

		<guid isPermaLink="false">http://www.duncane.net/?p=373</guid>
		<description><![CDATA[J&#8217;ai la chance d&#8217;avoir vu mon immeuble raccordé à la fibre optique afin de bénéficier d&#8217;accès &#171;&#160;très haut débit&#160;&#187;. Le point sur lequel je n&#8217;ai pas eu de chance, c&#8217;est que ce raccordement a été fait par Orange, et que la mise en place de la mutualisation verticale de la fibre entre opérateurs, ce n&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai la chance d&#8217;avoir vu mon immeuble raccordé à la fibre optique afin de bénéficier d&#8217;accès &laquo;&nbsp;très haut débit&nbsp;&raquo;.</p>
<p>Le point sur lequel je n&#8217;ai pas eu de chance, c&#8217;est que ce raccordement a été fait par Orange, et que la mise en place de la mutualisation verticale de la fibre entre opérateurs, ce n&#8217;est pas encore gagné.</p>
<p>Bon j&#8217;ai attendu un moment, histoire de voir si la mutualisation se faisait ou non, histoire de pouvoir prendre l&#8217;abonnement chez le FAI de mon choix, et après 3 ans de patience, j&#8217;ai craqué, j&#8217;ai souscris à un abonnement fibre optique chez Orange.<span id="more-373"></span>Par contre, je n&#8217;avais pas envie de dépendre de la Livebox d&#8217;Orange pour ma connexion pour plusieurs raisons :</p>
<ul>
<li>Plateforme peu stable, j&#8217;ai eu beaucoup d&#8217;échos très négatif sur les Livebox (et j&#8217;ai vécu quelques uns des désagrément ci-après), qu&#8217;il s&#8217;agisse de reboot intempestif, de reboot nécessaire pour que la box fonctionne correctement (ex. messagerie instantanée qui fonctionne mais surf sur le Web H.S.),</li>
<li>Pas de contrôle sur ce qui tourne dessus (sans vouloir jouer les paranos, j&#8217;aime bien savoir ce qui tourne sur le matériel connecté depuis chez moi sur internet),</li>
<li>Des voyants particulièrement gênants, c&#8217;est con, mais ils sont trop lumineux, et comme la box est dans ma chambre, ça me dérange pour dormir,</li>
</ul>
<div>Bilan des opérations, une box qui n&#8217;est utile que dans le cas d&#8217;une utilisation téléphonique et télévisuelle que je n&#8217;ai pas, et que je n&#8217;ai pas envie de mettre en fonction.</div>
<div>J&#8217;utilise toujours SME, qui me sert à driver ma connexion internet, et SME permet de gérer un dialing PPPoE, mais dans ce cas, celui-ci est fait directement sur l&#8217;interface, et non sur un VLAN comme cela est nécessaire pour attaquer le GPON fourni par Orange.</div>
<div>Devant moi, 2 options pour réaliser cette tâche :</div>
<div>
<ul>
<li>modifier l&#8217;installation de SME sur mon firewall/routeur pour négocier sa session PPPoE sur le VLAN 835 (VLAN utilisé sur le GPON pour l&#8217;accès Internet à proprement parler), solution intéressante, mais qui présente pour moi un inconvénient majeur, celui de la réversibilité. En effet, si demain, je dois négocier une session PPPoE sur l&#8217;interface sans avoir des VLAN tagging sur mes paquets, je ne suis pas sur d&#8217;être capable de rollbacker toutes les modifications. De plus, SME à tendance à redéfinir certains paramètres lors du processus de mise à jour, donc je risque à chaque mise à jour, de devoir refaire certaines modifications sur les fichiers de template.</li>
<li>Acheter un switch dit manageable, capable d&#8217;ajouter et de supprimer du marquage VLAN sur les ports en fonction de sa configuration,</li>
</ul>
<div>Etant plus réseau que système, pour moi la seconde solution est la plus simple, du coup, je suis allé chez le marchand de matériel informatique du coin, j&#8217;ai pris un petit switch manageable, j&#8217;ai configuré le port connecté au GPON comme devant marquer tout les paquets sortants sur le VLAN835, et le port connecté à mon &laquo;&nbsp;routeur&nbsp;&raquo; comme devant supprimer tout marquage des paquets sortants.</div>
</div>
<div>J&#8217;ai ensuite configuré SME pour faire le dialing PPPoE, et me voilà avec une latence de moins de 10ms quand je joue à Counter Strike sur un serveur en europe <img src='http://www.duncane.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
]]></content:encoded>
			<wfw:commentRss>http://www.duncane.net/2011/12/07/ftth-powered/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E-Books &amp; E-Reader</title>
		<link>http://www.duncane.net/2011/10/19/e-books-e-reader/</link>
		<comments>http://www.duncane.net/2011/10/19/e-books-e-reader/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 13:02:38 +0000</pubDate>
		<dc:creator>Duncane</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[librairie]]></category>
		<category><![CDATA[littérature]]></category>

		<guid isPermaLink="false">http://www.duncane.net/?p=454</guid>
		<description><![CDATA[Je suis depuis plus d&#8217;un an, l&#8217;heureux propriétaire d&#8217;un Cybook Gen 3 de chez Booken. J&#8217;avoue en avoir profité pour relire mes classiques (tombés dans le domaine publique et donc gratuits). J&#8217;y ai aussi lu pas mal de bouquins en anglais (c&#8217;est ce qu&#8217;on trouve principalement sur le marché). L&#8217;idée de ce billet et de [...]]]></description>
			<content:encoded><![CDATA[<p>Je suis depuis plus d&#8217;un an, l&#8217;heureux propriétaire d&#8217;un Cybook Gen 3 de chez <a href="http://www.bookeen.com/fr/" target="_blank">Booken</a>. J&#8217;avoue en avoir profité pour relire mes classiques (tombés dans le domaine publique et donc gratuits). J&#8217;y ai aussi lu pas mal de bouquins en anglais (c&#8217;est ce qu&#8217;on trouve principalement sur le marché). <span id="more-454"></span>L&#8217;idée de ce billet et de recenser les différents sites où vous pouvez vous procurer des e-books sympathiques. Que ce soit de façon gratuite (oeuvres tombées dans le domaine public ou laissé à disposition des internautes par le biais des licences de type Creative Commons) ou de façon payante (en gros, un annuaire des e-librairies disponible en ligne).</p>
<p>Tout d&#8217;abord, un point sur les logiciel de gestion de bibliothèque numérique : le premier que j&#8217;ai connu et utilisé était <a title="MobiPocket Desktop Reader" href="http://www.mobipocket.com/en/DownloadSoft/ProductDetailsReader.asp?Language=FR" target="_blank">MobiPocket Desktop Reader</a> qui permet de vous connecter au différentes e-librairies, de faire votre marché et de les récupérer sur votre ordinateur, en synchronisant également avec votre e-reader. C&#8217;est lui qui va se charger de la gestion des numéros de série (utilisés pour la protection) dans le cas de versions protégées par DRM, de sorte que vous n&#8217;avez rien de particulier à faire au niveau de votre compte, le logiciel s&#8217;en chargeant à votre place.</p>
<p>Ensuite, on retrouve l&#8217;incontournable <a title="Calibre" href="http://calibre-ebook.com/" target="_blank">Calibre</a> qui permet de gérer la librairie sur votre ordinateur, et sur votre appareil, mais qui offre surtout l&#8217;avantage de proposer des conversion d&#8217;un format à un autre (le support de certains formats étant parfois assez aléatoire sur certains readers). Ainsi votre .pdf issu d&#8217;un site de jeu de rôle sera difficilement lisible sur votre reader de base, mais en utilisant Calibre, vous devriez pouvoir le convertir en un fichier .mobi ou en un fichier .epub plus facilement lisible sur votre appareil. De même s&#8217;il ne supporte que les formats .epub et que vous avez un .mobi, Calibre vous permettra de passer de l&#8217;un à l&#8217;autre (et réciproquement).</p>
<p>Voilà, le tour des logiciels que j&#8217;utilise, je ne suis pas rentré dans le domaine de l&#8217;édition d&#8217;e-book, ce n&#8217;est pas l&#8217;objet de cet article, mais j&#8217;essayerais d&#8217;y revenir à l&#8217;occasion. Passons maintenant au e-librairies gratuites.</p>
<p>En première position, je on y retrouve <a title="MobiPocket" href="http://www.mobipocket.com/freebooks/default.aspx" target="_blank">MobiPocket</a> qui édite, entre autre, le soft de management de bibliothèque cité précédemment. On y retrouve de grands classiques (Doyle, Dumas, Verne, Poe, etc. &#8230;), en français ou en anglais, que j&#8217;ai pris plaisir à relire (surtout l&#8217;intégrale de Sherlock Holmes). MobiPocket est une filiale d&#8217;<a title="Amazon" href="http://www.amazon.com/" target="_blank">Amazon</a> et propose également une e-librairie payante assez fournie (un bug empêche toutefois les recherches sur leur site à l&#8217;heure ou j&#8217;écris ses lignes).</p>
<p>Ensuite, j&#8217;aimerais vous présenter le Bélial, et plus particulièrement la version numérique de cette librairie : <a title="e-Bélial" href="http://www.belial.fr/pages/e_belial" target="_blank">e-Bélial</a> qui propose un catalogue SF/Fantastique en pleine extension.</p>
<p>On retrouve également <a title="ePagine" href="http://www.epagine.fr/" target="_blank">ePagine</a> qui propose l&#8217;un des catalogues de titres francophone les plus vaste que j&#8217;ai pu rencontrer.</p>
<p>Le problème majeure de toutes ces eLibrairies c&#8217;est que le moindre livre au format numérique est à 5€, la ou son homologue en version poche est à 5€, bref aucune différence de prix alors que l&#8217;on a pourtant du dépenser 200€ pour la liseuse numérique.</p>
<p>Bilan : ma liseuse à l&#8217;heure actuelle me sert à :</p>
<ul>
<li>Lire des oeuvres françaises tombées dans le domaine public donc gratuites,</li>
<li>Lire des oeuvres en anglais que je peux me procurer pour quelques dollars (bien moins cher que l&#8217;équivalent papier) sur des sites tels que <a title="FictionWise" href="http://www.fictionwise.com/" target="_blank">FictionWise</a>.</li>
</ul>
<p>Petit appel du pieds aux maisons d&#8217;éditions qui me liraient : si vous ne voulez pas rater le passage au numérique comme l&#8217;on fait les maisons de disques, prenez en considération le fait qu&#8217;un livre numérique coûte quand même moins cher à vendre qu&#8217;un livre papier (pas de stockage physique, de transport, de coûts de surface de vente, &#8230;) et que si vous voulez les vendre au même prix très bien, mais ne vous étonnez pas que ça ne prenne pas auprès des consommateurs, nous ne sommes pas des pigeons.</p>
<p>Vos coûts d&#8217;édition sont partagés entre les versions numérique et papier. Vous ne pouvez pas ajouter dans les versions numériques de belles illustrations/cartes en couleurs vu que les liseuses ne les supportent pas. Vous ne pouvez pas ajouter de goodies (marque page, poster, &#8230;) vu que c&#8217;est distribué de façon dématérialisée. Vous ne pouvez pas faire un packaging qui donne envie d&#8217;exposer le livre, puisque nous consommateurs allons lire le livre sur la liseuse de notre choix. La seule chose que vous nous vendez, c&#8217;est le texte, avec un minimum de mise en forme (titre des chapitre, du livre, référence pour le sommaire), la liseuse que nous possédons se charge de la mise en forme en fonction de la façon dont nous l&#8217;avons réglée.</p>
<p>Voilà pourquoi, à mon sens, un livre numérique, devrait coûter au maximum, deux fois moins cher que son prix en format poche, essayer de les vendres plus cher n&#8217;est qu&#8217;une manière efficace de dissuader le consommateur d&#8217;acheter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.duncane.net/2011/10/19/e-books-e-reader/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ouverture de mon Jedi Path</title>
		<link>http://www.duncane.net/2011/07/02/jedi-path_opening/</link>
		<comments>http://www.duncane.net/2011/07/02/jedi-path_opening/#comments</comments>
		<pubDate>Sat, 02 Jul 2011 12:59:05 +0000</pubDate>
		<dc:creator>Duncane</dc:creator>
				<category><![CDATA[Divers]]></category>

		<guid isPermaLink="false">http://www.duncane.net/?p=508</guid>
		<description><![CDATA[Voilà, un petit billet un peu original pour vous présenter mon dernier achat : le Jedi Path http://www.youtube.com/watch?v=tXtdRpVEOK0 Enjoy]]></description>
			<content:encoded><![CDATA[<p>Voilà, un petit billet un peu original pour vous présenter mon dernier achat : le Jedi Path <img src='http://www.duncane.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.youtube.com/watch?v=tXtdRpVEOK0&#038;fmt=18">http://www.youtube.com/watch?v=tXtdRpVEOK0</a></p>
<p>Enjoy <img src='http://www.duncane.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.duncane.net/2011/07/02/jedi-path_opening/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mise en place d&#8217;un VPN &#8211; OpenVPN, Debian</title>
		<link>http://www.duncane.net/2011/03/31/openvpn-debian/</link>
		<comments>http://www.duncane.net/2011/03/31/openvpn-debian/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 15:29:21 +0000</pubDate>
		<dc:creator>Duncane</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ressources IT]]></category>
		<category><![CDATA[liberté]]></category>
		<category><![CDATA[Sécurité informatique]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.duncane.net/?p=495</guid>
		<description><![CDATA[Je me suis penché il y&#8217;a peu sur la mise en place d&#8217;un VPN, et ce pour plusieurs raisons : des problèmes de peering impactaient un jeu en ligne auquel je joue, provoquant moult déconnexions et autres latences abominables, les dérives sécuritaires de notre gouvernement m&#8217;ont convaincu que je devais me préparer à être capable de [...]]]></description>
			<content:encoded><![CDATA[<p>Je me suis penché il y&#8217;a peu sur la mise en place d&#8217;un VPN, et ce pour plusieurs raisons :</p>
<ul>
<li>des problèmes de peering impactaient un jeu en ligne auquel je joue, provoquant moult déconnexions et autres latences abominables,</li>
<li>les dérives sécuritaires de notre gouvernement m&#8217;ont convaincu que je devais me préparer à être capable de chiffrer l&#8217;intégralité de mon trafic internet,</li>
<li>j&#8217;étais curieux de le faire depuis un moment déjà.</li>
</ul>
<p>Bref me voilà donc parti en consultation intensive des comparatifs d&#8217;offres de VPN, et de documentation technique sur le sujet. Un article de <a title="Anonymat et VPN" href="http://bluetouff.com/2010/10/05/anonymat-acte-1-vpn-et-hadopi-et-vous-vous-pensez-anonymes/" target="_blank">Bluetouff</a> m&#8217;a convaincu qu&#8217;il était important d&#8217;avoir le contrôle total des deux extrémités du VPN.</p>
<p>J&#8217;ai donc recherché du côté des offres de serveurs dédiés et particulièrement les VPS offrant généralement des performance suffisante à un prix à peine plus élevé que celui des abonnements VPN haut de gamme.<span id="more-495"></span>Coté VPS, l&#8217;offre minimale d&#8217;<a title="AutoVPS" href="https://www.autovps.net/" target="_blank">AutoVPS</a> fourni les performances matérielles nécessaires à la création d&#8217;un VPN pour plusieurs utilisateurs, et les serveurs sont localisés en Allemagne, ce qui répond à mon problème de peering les serveurs de MMOs étant généralement hébergés en Allemagne. D&#8217;autres offres existent très certainement sur le marché, mais comme celle-ci correspond à mes critères de coûts, de localisation géographique des serveurs et de réactivité du support, je n&#8217;ai pas poussé la recherche plus avant.</p>
<p>Première étape : l&#8217;installation du serveur. Elle se fait de façon, rapide, et automatique, pas de soucis particulier de ce côté là.</p>
<p>Une fois le serveur installé et démarré, il convient de modifier le mot de passe de root, puis de créer un utilisateur que nous allons utiliser pour nous connecter en ssh sur le serveur. Cet utilisateur étant bien entendu ajouté à la liste des Sudoers (fichier &laquo;&nbsp;/etc/sudoers&nbsp;&raquo;) avec tout les droits.</p>
<p>Pour vous éviter de chercher, n&#8217;oubliez pas de modifier le fichier &laquo;&nbsp;/etc/network/interfaces&nbsp;&raquo; pour avoir l&#8217;interface ethernet en auto (ligne &laquo;&nbsp;auto eth0&#8243; dans le fichier ci-dessous). Et ce, tout simplement pour avoir l&#8217;interface ethernet qui redémarre proprement si vous fait un &laquo;&nbsp;/etc/init.d/networking restart&nbsp;&raquo;.</p>
<pre class="brush: plain; title: Fichier /etc/network/interfaces; notranslate">
duncane@vp:~$ cat /etc/network/interfaces
This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
auto eth0
duncane@vp:~$
</pre>
<p>Il faut ensuite installer le paquet dont nous allons avoir besoin à l&#8217;aide de la commande suivante, si des dépendances sont nécessaires, elles seront automatiquement installées avec le paquet.</p>
<pre class="brush: bash; title: ; notranslate">
sudo apt-get install openvpn
</pre>
<p>L&#8217;installation du serveur est maintenant complète, il ne reste plus qu&#8217;à le configurer.</p>
<p>Seconde étape : génération des certificats OpenSSL permettant l&#8217;établissement du tunnel crypté.</p>
<pre class="brush: bash; title: copie des fichiers de génération des certificats; notranslate">
cd ~
mkdir sslkeys
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
cp *.* ~/sslkeys
cd ~/sslkeys
nano vars
</pre>
<p>Une fois dans la phase d&#8217;édition du fichiers vars, il faut aller à la fin et modifier le bloc :</p>
<pre class="brush: bash; title: Fichier vars; notranslate">
# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY=&quot;&quot;
export KEY_PROVINCE=&quot;&quot;
export KEY_CITY=&quot;&quot;
export KEY_ORG=&quot;&quot;
export KEY_EMAIL=&quot;&quot;
</pre>
<p>Avec la consigne que je reprend simplement du fichier : Ne pas laisser de champs vide dans cette partie.</p>
<p>La génération des certificats qui vont être utilisés pour le cryptage se fait via la suite de commande suivante. Le &laquo;&nbsp;.(espace)&nbsp;&raquo; avant le ./vars n&#8217;est pas une faute, on peut également le remplacer par un &laquo;&nbsp;source vars&nbsp;&raquo; qui permet de rendre l&#8217;export des variables contenu dans le fichier que vous avez édité durable (mais non permanent).</p>
<pre class="brush: bash; title: Génération des certificats; notranslate">
. ./vars
./clean-all
./build-ca
./build-key-server NomDuServeurVPN
./build-key NomDeLUtilisateur
./build-dh
openvpn --genkey --secret keys/ta.key
</pre>
<p>Nous nous retrouvons avec les fichiers suivants :</p>
<p>ca.crt<br />
ca.key<br />
NomDuServeurVPN.crt<br />
NomDuServeurVPN.key<br />
NomDeLUtilisateur.crt<br />
NomDeLUtilisateur.csr<br />
NomDeLUtilisateur.key<br />
ta.key<br />
dh1024.pem</p>
<p>6 de ces fichiers sont nécessaires au serveur OpenVPN pour pouvoir fonctionner, et il vous faut les mettre dans le dossier /etc/openvpn</p>
<pre class="brush: bash; title: Copie des fichiers vers le serveur OpenVPN; notranslate">
sudo cp ./keys/ca.crt /etc/openvpn/
sudo cp ./keys/ca.key /etc/openvpn/
sudo cp ./keys/NomDuServeurVPN.crt /etc/openvpn/
sudo cp ./keys/NomDuServeurVPN.key /etc/openvpn/
sudo cp ./keys/dh1024.pem /etc/openvpn/
sudo cp ./keys/ta.key /etc/openvpn
</pre>
<p>Les fichiers suivants sont à copier sur le client (via scp par exemple).</p>
<p>ca.crt<br />
NomDeLUtilisateur.crt<br />
NomDeLUtilisateur.key<br />
ta.key</p>
<p>Troisième étape : configuration du daemon OpenVPN.</p>
<pre class="brush: bash; title: Création du fichier de configuration à partir du fichier default; notranslate">
cd /usr/share/doc/openvpn/examples/sample-config-files/
gunzip server.conf.gz
cp server.conf /etc/openvpn/
cd /etc/openvpn/
nano server.conf
</pre>
<p>Une fois dans le fichier de configuration de votre serveur, les éléments principaux à trouver sont les suivants :</p>
<p># Ports en écoute<br />
port 443</p>
<p># TCP or UDP server?<br />
proto tcp</p>
<p># ==&gt; port 443 + tcp = HTTPS</p>
<p># Type d&#8217;interface réseau virtuelle créée<br />
dev tun</p>
<p># Nom des fichiers servant à l&#8217;authentification des clients via OpenSSL<br />
ca ca.crt<br />
cert NomDuServeurVPN.crt<br />
key NomDuServeurVPN.key  # This file should be kept secret<br />
dh dh1024.pem<br />
tls-auth ta.key 0</p>
<p># Adresse du réseau virtuel (Le serveur aura l&#8217;adresse 10.8.0.1) et persistance du pool<br />
server 10.8.0.0 255.255.255.0<br />
ifconfig-pool-persist ipp.txt</p>
<p># Remplacement de la default gateway sur le client<br />
push &quot;redirect-gateway def1 bypass-dhcp&quot;</p>
<p>keepalive 10 120</p>
<p># Activation de la compression<br />
comp-lzo</p>
<p># uset et group pour le processus<br />
user openvpn<br />
group openvpn</p>
<p># Ces lignes permettent de rendre persistante la connexion<br />
persist-key<br />
persist-tun</p>
<p># Output a short status file showing<br />
# current connections, truncated<br />
# and rewritten every minute.<br />
status openvpn-status.log</p>
<p># Niveau de log<br />
verb 1</p>
<p>Quatrième étape : la configuration du client : Elle est relativement succincte, vous trouverez celle que j&#8217;emploie ici.</p>
<p>client<br />
dev tun<br />
proto tcp</p>
<p>remote ip.du.serveur.vpn 443</p>
<p>resolv-retry infinite</p>
<p>persist-key<br />
persist-tun</p>
<p>ca ca.crt<br />
cert NomDeLUtilisateur.crt<br />
key NomDeLUtilisateur.key<br />
tls-auth ta.key 1</p>
<p>comp-lzo</p>
<p>verb 3</p>
<p>Sous Windows Vista et Seven, il se peut que vous ayez le message d&#8217;erreur, indiquant que les routes n&#8217;ont pas pu être crées. Il suffit dans ce cas d&#8217;ajouter les lignes suivantes à la configuration du client.</p>
<p>route-method exe<br />
route-delay 2 </p>
<p>Cinquième et dernière étape : Activation de l&#8217;IP Masquerading. La dernière étape à faire, sur le serveur, pour que vous puissiez vous connecter à Internet à travers votre tunnel VPN est la suivante :</p>
<pre class="brush: bash; title: Activation de l&#039;IP Forwarding et mise en place de la règle iptables; notranslate">
echo 1 &gt; /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
</pre>
<p>Pour rendre ce paramètre permanent dans le serveur, il vous faut éditer le fichier &laquo;&nbsp;/etc/sysctl.conf&nbsp;&raquo; et configurer le paramètre :</p>
<p>net.ipv4.conf.default.forwarding=1</p>
<p>Une fois ces étapes remplies, il vous suffit d&#8217;utiliser votre client OpenVPN pour vous connecter, et votre IP publique est dorénavant celle du serveur VPN.</p>
<p>A bientôt pour de nouvelles aventures.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.duncane.net/2011/03/31/openvpn-debian/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Perl &#8211; Réaliser un daemon</title>
		<link>http://www.duncane.net/2011/02/25/perl-daemon/</link>
		<comments>http://www.duncane.net/2011/02/25/perl-daemon/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 17:22:30 +0000</pubDate>
		<dc:creator>Duncane</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ressources IT]]></category>
		<category><![CDATA[daemon]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://www.duncane.net/?p=470</guid>
		<description><![CDATA[Voilà un nouveau chapitre à mon aventure d&#8217;administrateur réseau-système qui vient de s&#8217;écrire, j&#8217;ai fait mon premier daemon en perl. Pourquoi faire un daemon, tout simplement pour avoir un traitement qui est lancé de façon récurrente sur un ordinateur (sous unix/linux), et dont la fréquence d&#8217;exécution est trop importante pour tourner sur une crontab. On [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Voilà un nouveau chapitre à mon aventure d&#8217;administrateur réseau-système qui vient de s&#8217;écrire, j&#8217;ai fait mon premier <em>daemon </em>en perl.</p>
<p style="text-align: justify;">Pourquoi faire un <em>daemon</em>, tout simplement pour avoir un traitement qui est lancé de façon récurrente sur un ordinateur (sous unix/linux), et dont la fréquence d&#8217;exécution est trop importante pour tourner sur une <em>crontab</em>.</p>
<p style="text-align: justify;">On va dans ce cas faire un programme avec une belle boucle infinie dans laquelle on va faire le traitement avec un <em>sleep </em>en début ou en fin de traitement pour laisser le temps au système d&#8217;exécuter d&#8217;autres applications/processus.<span id="more-470"></span><br />
Dans mon cas, l&#8217;objectif est de déplacer des fichiers entre plusieurs couples de 2 répertoires après un scan par un antivirus. Le but est de permettre de récupérer de façon sécurisée des fichiers en provenance d&#8217;internet sur les VLANs n&#8217;ayant pas accès à internet.</p>
<p style="text-align: justify;">Le répertoire d&#8217;entrée est mis à jour par FTP (en LAN) donc avec des débits suffisamment important et peu de risque de déconnexions intempestives (un check sommaire de la taille de fichier à quelques secondes d&#8217;intervalles suffit donc).</p>
<p style="text-align: justify;">Un script existe et rempli actuellement cette tâche, mais plusieurs points sont à revoir :</p>
<ul style="text-align: justify;">
<li>il ne fonctionne que sur un seul et unique couple de répertoire (on m&#8217;a demandé d&#8217;ajouter des couples de répertoire),</li>
<li>il est lancé dans un shell, connecté en root, ouvert en permanence via <em>screen</em>, en cas de reboot de la machine, il faut relancer le script manuellement,</li>
<li>plusieurs paramètres sont &laquo;&nbsp;hardcodés&nbsp;&raquo; dans le script et ne sont pas forcément très lisibles,</li>
</ul>
<p style="text-align: justify;">Me voilà donc parti avec mon fidèle compagnon (j&#8217;ai nommé Google) vers les joies de la réalisation d&#8217;un <em>daemon </em>en Perl.</p>
<p style="text-align: justify;">La première étape consiste à utiliser un fichier de configuration afin de pouvoir séparer ce qui est de la configuration pure du reste du script (le chemin vers le binaire de l&#8217;antivirus et ses paramètres, les couples de répertoires, s&#8217;il faut ou non activer le logging, le chemin vers le logging, etc. &#8230;).</p>
<p style="text-align: justify;">Quelques minutes de recherche plus loin, j&#8217;en arrive à la conclusion que le module <em>AppConfig</em> est ce dont j&#8217;ai besoin.</p>
<pre class="brush: perl; title: Premiers modules à inclure au projet; notranslate">
use strict;
use warnings;
use File::Copy;
use AppConfig qw(:expand :argcount);
</pre>
<p>Le paramètre <em>argcount</em> permet de récupérer des listes pour un même paramètre, ce qui est intéressant dans mon cas, on utilisera le même nom de variable pour les couples de répertoires.</p>
<p>On va donc créer un fichier de configuration et y mettre le contenu suivant :</p>
<pre class="brush: plain; title: Fichier de configuration /etc/playground_scan.conf; notranslate">
#Configuration générale du daemon
#Logging
# 1 - Actif
# 0 - Inactif
logging = 1

# Les 2 paramètres ci-dessous ne sont à modifier que si votre configuration est différente

#Chemin du log
#Le fichier sera logFilePath/playground_scan.log
logFilePath = /var/log
#Chemin du PID
#Le fichier sera pidFilePath/playground_scan.pid
#Ne pas oublier de modifier le script présent dans init.d si vous changez ce paramètre
pidFilePath = /var/run

#Commande pour le scanner
scan = /chemin/du/scanner/av
scanParam = &quot;--parametres=optionnels&quot;

#Couple de repertoires à scanner
#ils doivent être sous la forme :
# InsecureDir:SecureDir
repertoire=/temp/test1:/temp2/test2
repertoire=/temp/test2:/temp3/test3
</pre>
<p>Le fichier de configuration étant crée, il n&#8217;y a plus qu&#8217;à aller lire celui-ci.</p>
<pre class="brush: perl; title: Définition des paramètres à aller lire et lecture du fichier; notranslate">
my $config = AppConfig-&gt;new(&quot;scan&quot;       =&gt; {ARGCOUNT =&gt; ARGCOUNT_ONE},
                            &quot;scanParam&quot;  =&gt; {ARGCOUNT =&gt; ARGCOUNT_ONE},
                            &quot;logging&quot;    =&gt; {ARGCOUNT =&gt; ARGCOUNT_ONE},
                            &quot;logFilePath&quot;=&gt; {ARGCOUNT =&gt; ARGCOUNT_ONE},
                            &quot;pidFilePath&quot;=&gt; {ARGCOUNT =&gt; ARGCOUNT_ONE},
                            &quot;repertoire&quot; =&gt; {ARGCOUNT =&gt; ARGCOUNT_LIST});

#Lecture du fichier de configuration
$config-&gt;file('/etc/playground_scan.conf');
</pre>
<p>Une fois le fichier de configuration lu et chargé en mémoire, on y accède simplement via un <em>$config->clefConfig();</em> comme vous pouvez le voir dans l&#8217;exemple ci-dessous.</p>
<pre class="brush: perl; title: Accès à une clef de configuration; notranslate">
#Initialisation des paramètres du daemon
my $logging       = $config-&gt;logging();                     # 1= logging is on
my $logFilePath   = $config-&gt;logFilePath();                 # log file path
my $logFile       = $logFilePath . &quot;/&quot; . $daemonName . &quot;.log&quot;;
my $pidFilePath   = $config-&gt;pidFilePath();                 # PID file path
my $pidFile       = $pidFilePath . &quot;/&quot; . $daemonName . &quot;.pid&quot;;
</pre>
<p>Je fais encore une parenthèse sur le fonctionnement de ce module concernant la liste de répertoire qu&#8217;on va récupérer dans <em>$config->repertoire();</em>, cette liste se présente simplement sous la forme d&#8217;un tableau que l&#8217;on va parcourir (dans mon cas via un simple <em>foreach</em>).</p>
<pre class="brush: perl; title: Parcours de la liste de repertoire; notranslate">
my $confReps = $config-&gt;repertoire();

foreach $confDirs ( @$confReps )
  {
  #Code ici
  }
</pre>
<p>Première objectif atteint : permettre une plus grande flexibilité de configuration.</p>
<p>Reprenons Google pour trouver des informations sur le 2ème objectif, à savoir la daemonisation.</p>
<p>J&#8217;ai trouvé un chouette article sur un blog avec un beau squelette en perl pour faire un <em>daemon</em> article que je vais m&#8217;efforcer de traduire ici.</p>
<p>Tout d&#8217;abord on copie le squelette init.d de façon à créer le script qui servira à lancer le <em>daemon</em>.</p>
<pre class="brush: bash; title: Copie du squelette Bash; notranslate">
sudo cp /etc/init.d/skeleton /etc/init.d/playground_scan
sudo chmod +x /etc/init.d/playground_scan
</pre>
<p>Ensuite, on édite le fichier /etc/init.d/playground_scan</p>
<pre class="brush: bash; title: Edition du fichier /etc/init.d/playground_scan; notranslate">
sudo vi /etc/init.d/playground_scan
</pre>
<p>Et on y modifie les lignes suivantes afin d&#8217;être en accord avec les modifications précédentes. Vérifiez bien que la valeur de <em>PIDFILE</em> correspond à celle renseignée dans la configuration.</p>
<pre class="brush: bash; title: Fichier shell, le bloc à modifier; notranslate">
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC=&quot;Description of the service&quot;
NAME=playground_scan
DAEMON=/usr/bin/$NAME
DAEMON_ARGS=&quot;&quot;
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
</pre>
<p>Puis le template du <em>daemon</em> Perl en lui même, à copier dans le fichier /usr/sbin/playground_scan (disponible en fin de page), n&#8217;oubliez pas d&#8217;allez mettre votre code metier en dessous de la ligne :</p>
<pre class="brush: perl; title: Repère pour l&#039;insertion du code de la boucle principale; notranslate">
	sleep($sleepMainLoop);
</pre>
<p>Il faut bien entendu un peu d&#8217;adaptation au squelette pour tourner avec le fichier de configuration et non plus avec ses paramètres pré-enregistrés et ne pas oublier de faire un :</p>
<pre class="brush: bash; title: Ajout des droits d&#039;exécution sur le daemon; notranslate">
sudo chmod +x /usr/bin/mydaemon
</pre>
<p>Ensuite, on va créer les fichiers de logs :</p>
<pre class="brush: bash; title: Création du fichier de logs; notranslate">
sudo touch /var/log/playground_scan.log
sudo chmod 640 /var/log/playground_scan.log
sudo chown root:adm /var/log/playground_scan.log
</pre>
<p>Il ne reste plus qu&#8217;à ajouter le script dans la séquence de démarrage automatique </p>
<pre class="brush: bash; title: Démarrage automatique du daemon; notranslate">
update-rc.d playground_scan defaults 99
</pre>
<p>Si certains modules sont manquants il peut vous être nécessaire de lancer les commandes suivantes pour les installer.</p>
<pre class="brush: bash; title: Installation des module CPAN; notranslate">
sudo cpan POSIX
sudo cpan File::Pid
sudo cpan AppConfig
</pre>
<p>Note : pour ceux qui voudraient mon script tout fait, j&#8217;en fait un .tar.gz et je vous le mets à disposition sous peu.</p>
<p>Sources : pour la partie <em>daemon</em> : <a href="http://www.andrewault.net/2010/05/27/creating-a-perl-daemon-in-ubuntu/" target="_new">http://www.andrewault.net/2010/05/27/creating-a-perl-daemon-in-ubuntu/</a><br />Pour la partie configuration : <a href="http://chl.be/glmf/articles.linuxmag-france.org/lm32/perlconf.html" target="_new">http://chl.be/glmf/articles.linuxmag-france.org/lm32/perlconf.html</a></p>
<pre class="brush: perl; title: Squelette du daemon Perl; notranslate">
#!/usr/bin/perl -w
#
# mydaemon.pl by Andrew Ault, www.andrewault.net
#
# Free software. Use this as you wish.
#
# Throughout this template &quot;mydaemon&quot; is used where the name of your daemon should
# be, replace occurrences of &quot;mydaemon&quot; with the name of your daemon.
#
# This name will also be the exact name to give this file (WITHOUT a &quot;.pl&quot; extension).
#
# It is also the exact name to give the start-stop script that will go into the
# /etc/init.d/ directory.
#
# It is also the name of the log file in the /var/log/ directory WITH a &quot;.log&quot;
# file extension.
#
# Replace &quot;# do something&quot; with your super useful code.
#
# Use &quot;# logEntry(&quot;log something&quot;);&quot; to log whatever your need to see in the log.
#
use strict;
use warnings;
use POSIX;
use File::Pid;

# make &quot;mydaemon.log&quot; file in /var/log/ with &quot;chown root:adm mydaemon&quot;

# TODO: change &quot;mydaemon&quot; to the exact name of your daemon.
my $daemonName    = &quot;mydaemon&quot;;
#
my $dieNow        = 0;                                     # used for &quot;infinte loop&quot; construct - allows daemon mode to gracefully exit
my $sleepMainLoop = 120;                                    # number of seconds to wait between &quot;do something&quot; execution after queue is clear
my $logging       = 1;                                     # 1= logging is on
my $logFilePath   = &quot;/var/log/&quot;;                           # log file path
my $logFile       = $logFilePath . $daemonName . &quot;.log&quot;;
my $pidFilePath   = &quot;/var/run/&quot;;                           # PID file path
my $pidFile       = $pidFilePath . $daemonName . &quot;.pid&quot;;

# daemonize
use POSIX qw(setsid);
chdir '/';
umask 0;
open STDIN,  '/dev/null'   or die &quot;Can't read /dev/null: $!&quot;;
open STDOUT, '&gt;&gt;/dev/null' or die &quot;Can't write to /dev/null: $!&quot;;
open STDERR, '&gt;&gt;/dev/null' or die &quot;Can't write to /dev/null: $!&quot;;
defined( my $pid = fork ) or die &quot;Can't fork: $!&quot;;
exit if $pid;

# dissociate this process from the controlling terminal that started it and stop being part
# of whatever process group this process was a part of.
POSIX::setsid() or die &quot;Can't start a new session.&quot;;

# callback signal handler for signals.
$SIG{INT} = $SIG{TERM} = $SIG{HUP} = \&amp;signalHandler;
$SIG{PIPE} = 'ignore';

# create pid file in /var/run/
my $pidfile = File::Pid-&gt;new( { file =&gt; $pidFile, } );

$pidfile-&gt;write or die &quot;Can't write PID file, /dev/null: $!&quot;;

# turn on logging
if ($logging) {
	open LOG, &quot;&gt;&gt;$logFile&quot;;
	select((select(LOG), $|=1)[0]); # make the log file &quot;hot&quot; - turn off buffering
}

# &quot;infinite&quot; loop where some useful process happens
until ($dieNow) {
	sleep($sleepMainLoop);

	# TODO: put your custom code here!
	# do something

	# logEntry(&quot;log something&quot;); # use this to log whatever you need to
}

# add a line to the log file
sub logEntry {
	my ($logText) = @_;
	my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);
	my $dateTime = sprintf &quot;%4d-%02d-%02d %02d:%02d:%02d&quot;, $year + 1900, $mon + 1, $mday, $hour, $min, $sec;
	if ($logging) {
		print LOG &quot;$dateTime $logText\n&quot;;
	}
}

# catch signals and end the program if one is caught.
sub signalHandler {
	$dieNow = 1;    # this will cause the &quot;infinite loop&quot; to exit
}

# do this stuff when exit() is called.
END {
	if ($logging) { close LOG }
	$pidfile-&gt;remove if defined $pidfile;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.duncane.net/2011/02/25/perl-daemon/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>ARCserve &#8211; trucs et astuces</title>
		<link>http://www.duncane.net/2011/02/23/arcserve-trucs-astuces/</link>
		<comments>http://www.duncane.net/2011/02/23/arcserve-trucs-astuces/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 17:30:35 +0000</pubDate>
		<dc:creator>Duncane</dc:creator>
				<category><![CDATA[Ressources IT]]></category>
		<category><![CDATA[ARCserve]]></category>

		<guid isPermaLink="false">http://www.duncane.net/?p=467</guid>
		<description><![CDATA[Dans le cadre de ma nouvelle mission, j&#8217;ai récemment été confronté à un problème avec la solution de sauvegarde ARCserve. Après chaque opération sur certaines bases de données internes du logiciel, le moteur de BDD se mettait en erreur empêchant les opérations suivantes d&#8217;avoir lieu.Quelques recherches effectuées sur Internet montrent que le défaut viendrait d&#8217;une [...]]]></description>
			<content:encoded><![CDATA[<p>Dans le cadre de ma nouvelle mission, j&#8217;ai récemment été confronté à un problème avec la solution de sauvegarde ARCserve.</p>
<p>Après chaque opération sur certaines bases de données internes du logiciel, le moteur de BDD se mettait en erreur empêchant les opérations suivantes d&#8217;avoir lieu.<span id="more-467"></span>Quelques recherches effectuées sur Internet montrent que le défaut viendrait d&#8217;une corruption de la base de données. Cette indication nous a été fournie par une * présente entre parenthèse à côté du JobID (ex. 14(*) ).</p>
<p>Le moteur VLDB étant assez sensible aux coupures intempestives et autres plantages qui peuvent survenir, je vous invite à être très prudent sur les machines faisant tourner ArcServ.</p>
<p>Pourquoi un moteur de base de données ? Pour y stocker les index des fichiers sauvegardés, dates de modifications, chemins de sauvegardes, &#8230;</p>
<p>Ce moteur VLDB fourni l&#8217;accès au bases suivantes :</p>
<ul>
<li>asjob,</li>
<li>aslogerr,</li>
<li>asmedia,</li>
<li>asmsg,</li>
<li>asobject,</li>
<li>asrhost,</li>
<li>astape,</li>
<li>astpdrv,</li>
<li>astpsdat.</li>
</ul>
<p>Une première solution, trouvée sur les forums anglophones suggère une réinitialisation complète de la BDD, et par conséquent la perte des sauvegardes précédentes, autant dire que j&#8217;étais quand même moyennement chaud.</p>
<p>Puis je suis tombé sur le blog des Cogitations Peckiennes, et plus particulièrement sur l&#8217;article : <a title="BrightStor ARCserve (11.5) : Problème du moteur de BDD qui s’arrête" href="http://pecky.free.fr/blog/?p=795" target="_blank">BrightStor ARCserve (11.5) : Problème du moteur de BDD qui s’arrête</a> qui présente une solution permettant de tenter une réparation de la BDD sans perdre les données déjà présentes.</p>
<p>Le détail de la solution, est le suivant :</p>
<ol>
<li>Relancer les services ARCserve pour être sur qu&#8217;ils tournent tous correctement,</li>
<li>Arrêter tout job qui pourrait tourner dans les prochaines heures (plus de 24h dans mon cas),</li>
<li>Vérifier quelle(s) base(s) présente(nt) des erreurs,</li>
<li>Corriger les erreurs,</li>
</ol>
<p>Tout les utilitaires sont directement accèssibles en ligne de commande depuis le répertoire d&#8217;ARCserve, lancez donc un shell et placez vous dans le bon répertoire, et commencez par relancer les services :</p>
<blockquote><p>Cstop.bat<br />
Cstart.bat</p></blockquote>
<p>Puis, ouvrez votre interface d&#8217;administration pour arrêter tout les jobs.</p>
<p>Ensuite, il vous suffit de vérifier quelles sont les bases qui présentent des erreurs, avec la commande :</p>
<blockquote><p>dbcheck -a -L casdb;admin;secret [BDD]</p></blockquote>
<p>N&#8217;essayez pas de remplacer le admin et le secret par les valeurs que vous auriez configurées ailleurs dans le logiciel, ce sont les valeurs admin/secret que vous devez mettre et rien d&#8217;autre.</p>
<p>Vous pouvez interrompre la vérification une fois que des erreurs ont été trouvées, vu que l&#8217;étape suivante lance de toute façon un dbcheck pour savoir quelles sont les entrées de la base qu&#8217;il doit corriger.</p>
<p>Une fois les bases corrompues isolées, nous allons pouvoir les corriger avec un petit :</p>
<blockquote><p>dbfix -a -L casdb;admin;secret [BDD]</p></blockquote>
<p>Une fois le dbfix fini, je vous conseille de faire un .bat avec toute les bases que vous avez identifié comme comportant des erreurs précédemment, de le lancer et de plus vous en occuper pendant au moins 4 ou 5 heures mini., on peut passer à la phase d&#8217;optimisation.</p>
<p>On commence donc par un élagage (exécutez simplement le job d&#8217;élagage via l&#8217;interface). Puis, les opérations de defragmentation de la base et de reconstruction d&#8217;index (à faire dans cet ordre, et pas l&#8217;inverse) que vous pourrez lancer via les commandes :</p>
<blockquote><p>dbdefrag -a -L casdb;admin;secret [BDD]<br />
keybuild -k -L casdb;admin;secret [BDD]</p></blockquote>
<p>Encore une fois, je recommande l&#8217;usage d&#8217;un fichier de commande avec cette fois-ci l&#8217;intégralité des bases de la liste.</p>
<p>&nbsp;</p>
<p>Voilà, ce petit tuto à résolu mon problème au boulot, j&#8217;espère qu&#8217;il en sera de même pour vous.</p>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">http://mail.google.com/support/bin/answer.py?answer=6590http://pecky.free.fr/blog/?p=795</div>
]]></content:encoded>
			<wfw:commentRss>http://www.duncane.net/2011/02/23/arcserve-trucs-astuces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liberté de la presse et renouveau de la démocratie</title>
		<link>http://www.duncane.net/2011/01/03/presse-et-democratie/</link>
		<comments>http://www.duncane.net/2011/01/03/presse-et-democratie/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 16:01:05 +0000</pubDate>
		<dc:creator>Duncane</dc:creator>
				<category><![CDATA[Les News]]></category>
		<category><![CDATA[démocratie]]></category>
		<category><![CDATA[liberté]]></category>
		<category><![CDATA[presse]]></category>

		<guid isPermaLink="false">http://www.duncane.net/?p=459</guid>
		<description><![CDATA[En ce début d&#8217;année 2011, la Hongrie prend la présidence tournante de l&#8217;Europe pour les 6 prochains mois, pendant ce temps le gouvernement français cherche à faire la chasse à WikiLeaks. Quel est le lien entre ces deux faits me direz-vous ? C&#8217;est bien simple, la Hongrie vient d&#8217;adopter l&#8217;une des lois les plus meurtrières [...]]]></description>
			<content:encoded><![CDATA[<p>En ce début d&#8217;année 2011, la Hongrie prend la présidence tournante de l&#8217;Europe pour les 6 prochains mois, pendant ce temps le gouvernement français cherche à faire la chasse à WikiLeaks.</p>
<p><span id="more-459"></span></p>
<p>Que<a href="http://www.duncane.net/wp-content/uploads/2011/01/000508171-3995-600f.jpg"><img class="alignright size-thumbnail wp-image-460" title="Liberté de la Presse" src="http://www.duncane.net/wp-content/uploads/2011/01/000508171-3995-600f-150x150.jpg" alt="" width="150" height="150" /></a>l est le lien entre ces deux faits me direz-vous ? C&#8217;est bien simple, la Hongrie vient d&#8217;adopter l&#8217;une des lois les plus meurtrières à l&#8217;égard de la liberté de la presse qu&#8217;ai connu l&#8217;Europe depuis plusieurs années. En effet, cette loi permet à un organisme crée par l&#8217;état, et dont les membres sont nommés par le gouvernement.</p>
<p>Cette loi permet en effet au gouvernement de sanctionner les publications (écrite -papier/internet-  ou télévisuelle) dont le contenu n&#8217;est pas politiquement équilibré, un peu comme si en France, on sanctionnait Marianne parce qu&#8217;ils sont de gauche, ou encore le Canard parce qu&#8217;ils tapent trop souvent sur le chef de l&#8217;état. Elle peut également obliger les journalistes à révéler leur sources, si une question de sécurité nationale est soulevée, comme l&#8217;état est seul juge de ce point, point n&#8217;est besoin de chercher loin pour les dérives, et plus besoin de voler les ordinateurs pour les connaître.</p>
<p>J&#8217;ajouterais que l&#8217;Allemagne a fait connaître sa désapprobation face à cette loi, la France non.</p>
<p>L&#8217;Islande qui s&#8217;était déjà démarquée à l&#8217;occasion de sa législation sur la protection de la liberté d&#8217;expression, fait quand à elle à nouveau parler d&#8217;elle en demandant à 25 citoyens ordinaires de &laquo;&nbsp;ré-écrire&nbsp;&raquo; sa constitution. La version actuelle étant une version copiée et légèrement modifiée de la constitution Danoise, adoptée en 1944 lors de l&#8217;indépendance.</p>
<p>Les citoyens en question ayant été élus au suffrage universels direct, et n&#8217;importe qui pouvait se présenter à l&#8217;élection en question (il fallait avoir plus de 18 ans et pouvoir justifier du soutient de 30 citoyens). L&#8217;élection présente un taux de participation de 35% environ (pour mémoire les élections régionales de 2010 en France ont eu des taux de 39.29% et de 43.47% aux premier et second tour respectivement).</p>
<p>Voilà donc un bon exemple de démocratie appliquée, et encore une fois, les décisions de ce pays me font chaud au coeur (même s&#8217;il ne doit pas faire chaud là bas).</p>
<p>Sources : <a href="http://www.ephemere.be/la-liberte-de-la-presse-est-morte-en-hongrie/" target="_blank">http://www.ephemere.be/la-liberte-de-la-presse-est-morte-en-hongrie/</a></p>
<p><a href="http://jean-francoisjulliard.blogs.nouvelobs.com/archive/2011/01/03/hongrie-la-liberte-de-la-presse-touche-a-sa-fin.html">http://jean-francoisjulliard.blogs.nouvelobs.com/archive/2011/01/03/hongrie-la-liberte-de-la-presse-touche-a-sa-fin.html</a></p>
<p><a href="http://owni.fr/2010/06/24/islande-nouveau-paradis-pour-la-liberte-dexpression/" target="_blank">http://owni.fr/2010/06/24/islande-nouveau-paradis-pour-la-liberte-dexpression/</a></p>
<p><a href="http://www.cadtm.org/Quand-l-Islande-reinvente-la" target="_blank">http://www.cadtm.org/Quand-l-Islande-reinvente-la</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.duncane.net/2011/01/03/presse-et-democratie/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>La guerre numérique arrive en France</title>
		<link>http://www.duncane.net/2010/10/15/la-guerre-numerique-arrive-en-france/</link>
		<comments>http://www.duncane.net/2010/10/15/la-guerre-numerique-arrive-en-france/#comments</comments>
		<pubDate>Fri, 15 Oct 2010 09:39:50 +0000</pubDate>
		<dc:creator>Duncane</dc:creator>
				<category><![CDATA[Réflexions IT]]></category>
		<category><![CDATA[Sécurité informatique]]></category>

		<guid isPermaLink="false">http://www.duncane.net/?p=443</guid>
		<description><![CDATA[Je vous en parlais il y&#8217;a environ 1 an, dans mon billet sur la guerre numérique, et il faut croire que je n&#8217;étais pas si loin de la vérité. Si vous ne l&#8217;avez pas déjà fait, je vous invite à lire l&#8217;excellent billet de Fabrice Epelboin disponible ici sur ReadWriteWeb concernant l&#8217;attaque dont on été [...]]]></description>
			<content:encoded><![CDATA[<p>Je vous en parlais il y&#8217;a environ 1 an, dans mon billet sur la <a href="http://www.duncane.net/2009/09/15/la-guerre-aura-t-elle-lieu-en-france/" target="_self">guerre numérique</a>, et il faut croire que je n&#8217;étais pas si loin de la vérité.</p>
<p>Si vous ne l&#8217;avez pas déjà fait, je vous invite à lire l&#8217;excellent billet de <a href="http://fr.readwriteweb.com/author/fabriceepelboin/" target="_blank">Fabrice Epelboin</a> disponible ici sur <a href="http://fr.readwriteweb.com/2010/09/20/a-la-une/les-ayants-droits-durement-touchs-par-une-contre-attaque-de-hackers/" target="_blank">ReadWriteWeb</a> concernant l&#8217;attaque dont on été victime les majors.</p>
<p>Ces majors, et plus particulièrement la MPAA, la RIAA et AiPlex Software, ont vu leurs sites et leurs structures isolés du réseau pendant plusieurs heures et même presque plusieurs jours.</p>
<p>A l&#8217;origine de l&#8217;action, le franchissement de la limite par AiPlex Software contre les &laquo;&nbsp;pirates&nbsp;&raquo; du web, et ce, sur demande du duo MPAA/RIAA (je pars du principe que c&#8217;est le cas même si je n&#8217;ai pas de preuve, c&#8217;est la théorie que tout le monde avance).</p>
<p>S&#8217;en est suivi un DDoS (ou attaque par déni de service) sur les serveurs, visibles depuis l&#8217;extérieur, de ces 3 organismes, les mettant hors lignes.</p>
<p><span id="more-443"></span></p>
<p>Et voilà que la très in-fameuse HADOPI s&#8217;active, a demandé les premières identification d&#8217;adresses IPs, et surtout ouvre son site ce vendredi.</p>
<p>Du coup, le groupe <a href="http://fr.wikipedia.org/wiki/Anonymous_%28communaut%C3%A9%29" target="_blank">Anonymous</a>, plutôt célèbre en raison du &laquo;&nbsp;Projet Chanology&nbsp;&raquo; s&#8217;est penché sur la question. Il en ressort un appel aux armes plutôt clair.</p>
<p><a href="http://www.duncane.net/wp-content/uploads/2010/09/LOIC.jpg"><img class="aligncenter size-full wp-image-445" title="LOIC" src="http://www.duncane.net/wp-content/uploads/2010/09/LOIC.jpg" alt="" width="600" height="446" /></a></p>
<p>Personnellement, j&#8217;ai beau être contre HADOPI et ce qu&#8217;elle implique, je suis également contre cette démarche. Pour plusieurs raisons :</p>
<ol>
<li>le site a de bonne chance de contenir des informations utiles à Mme Michu pour ne pas être victime d&#8217;une énième tentative de fishing,</li>
<li>réagir de la sorte ne fera que radicaliser la position en face et les incitera à mettre en place d&#8217;autant plus rapidement des technologies du type DPI/SPI,</li>
</ol>
<p>Par contre, je dois bien avouer que cette politique va mener à un durcissement de la criminalisation du milieu comme on l&#8217;a vu avec la prohibition dans les années 20 (cf. autre billet de <a href="http://fr.readwriteweb.com/2010/10/14/analyse/prohibition-20-anne-0-2/" target="_blank">Fabrice Epelboin</a> sur la prohibition 2.0).</p>
<p>Bref on s&#8217;engage dans une logique guerrière ou les 2 camps vont s&#8217;armer de technologies de pointes afin de neutraliser (voir de détruire) l&#8217;autre.</p>
<p>Savoir qui va gagner est difficile à déterminer, les &laquo;&nbsp;hackers&nbsp;&raquo; ont la motivation, l&#8217;expérience et la connaissance pour s&#8217;armer de façon plus efficace. Ils ont surtout accès à une force de frappe impressionnante via les internautes qui les soutiennent.</p>
<p>Les ayants droits n&#8217;ont pour eux qu&#8217;un budget très important et l&#8217;appui des hommes politiques en place. Cela suffira-t&#8217;il ? J&#8217;espère que non, il est temps de repenser la culture.</p>
<p>Un exemple récent de l&#8217;appuie des politiques :</p>
<ul>
<li>On supprime 56M d&#8217;euro d&#8217;aide accordée aux créateurs d&#8217;entreprises (les gens qui innovent),</li>
<li>On alloue 14M d&#8217;euro à la Hadopi pour punir les méchants utilisateurs qui n&#8217;ont pas su sécuriser leurs connexions internet,</li>
<li>On alloue 75M d&#8217;euro à la carte musique jeune, histoire de renflouer encore un peu plus les caisses des-dits ayant droit.</li>
</ul>
<p>Au passage, les ayants droits passent (ici les chiffres viennent du site de la SNEP) d&#8217;un catalogue de 3300 albums environ à 900 et s&#8217;étonnent que leurs ventes baissent, mais forcement quand on limite la diversité d&#8217;achat, les ventes ne suivent plus.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.duncane.net/2010/10/15/la-guerre-numerique-arrive-en-france/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

