New blog :)

This commit is contained in:
Quentin Dufour 2015-07-26 10:28:34 +02:00
parent 3e4be7e22e
commit 0518394209
25 changed files with 1154 additions and 33 deletions

2
Gemfile Normal file
View file

@ -0,0 +1,2 @@
source 'https://rubygems.org'
gem 'github-pages'

128
Gemfile.lock Normal file
View file

@ -0,0 +1,128 @@
GEM
remote: https://rubygems.org/
specs:
RedCloth (4.2.9)
activesupport (4.2.3)
i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
blankslate (2.1.2.4)
celluloid (0.16.0)
timers (~> 4.0.0)
classifier-reborn (2.0.3)
fast-stemmer (~> 1.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.9.1.1)
colorator (0.1)
execjs (2.5.2)
fast-stemmer (1.0.2)
ffi (1.9.10)
gemoji (2.1.0)
github-pages (38)
RedCloth (= 4.2.9)
github-pages-health-check (~> 0.2)
jekyll (= 2.4.0)
jekyll-coffeescript (= 1.0.1)
jekyll-feed (= 0.3.0)
jekyll-mentions (= 0.2.1)
jekyll-redirect-from (= 0.8.0)
jekyll-sass-converter (= 1.2.0)
jekyll-sitemap (= 0.8.1)
jemoji (= 0.4.0)
kramdown (= 1.5.0)
liquid (= 2.6.2)
maruku (= 0.7.0)
mercenary (~> 0.3)
pygments.rb (= 0.6.3)
rdiscount (= 2.1.7)
redcarpet (= 3.3.1)
terminal-table (~> 1.4)
github-pages-health-check (0.3.1)
net-dns (~> 0.6)
public_suffix (~> 1.4)
hitimes (1.2.2)
html-pipeline (1.9.0)
activesupport (>= 2)
nokogiri (~> 1.4)
i18n (0.7.0)
jekyll (2.4.0)
classifier-reborn (~> 2.0)
colorator (~> 0.1)
jekyll-coffeescript (~> 1.0)
jekyll-gist (~> 1.0)
jekyll-paginate (~> 1.0)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 1.1)
kramdown (~> 1.3)
liquid (~> 2.6.1)
mercenary (~> 0.3.3)
pygments.rb (~> 0.6.0)
redcarpet (~> 3.1)
safe_yaml (~> 1.0)
toml (~> 0.1.0)
jekyll-coffeescript (1.0.1)
coffee-script (~> 2.2)
jekyll-feed (0.3.0)
jekyll-gist (1.2.1)
jekyll-mentions (0.2.1)
html-pipeline (~> 1.9.0)
jekyll (~> 2.0)
jekyll-paginate (1.1.0)
jekyll-redirect-from (0.8.0)
jekyll (>= 2.0)
jekyll-sass-converter (1.2.0)
sass (~> 3.2)
jekyll-sitemap (0.8.1)
jekyll-watch (1.2.1)
listen (~> 2.7)
jemoji (0.4.0)
gemoji (~> 2.0)
html-pipeline (~> 1.9)
jekyll (~> 2.0)
json (1.8.3)
kramdown (1.5.0)
liquid (2.6.2)
listen (2.10.1)
celluloid (~> 0.16.0)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
maruku (0.7.0)
mercenary (0.3.5)
mini_portile (0.6.2)
minitest (5.7.0)
net-dns (0.8.0)
nokogiri (1.6.6.2)
mini_portile (~> 0.6.0)
parslet (1.5.0)
blankslate (~> 2.0)
posix-spawn (0.3.11)
public_suffix (1.5.1)
pygments.rb (0.6.3)
posix-spawn (~> 0.3.6)
yajl-ruby (~> 1.2.0)
rb-fsevent (0.9.5)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
rdiscount (2.1.7)
redcarpet (3.3.1)
safe_yaml (1.0.4)
sass (3.4.16)
terminal-table (1.5.2)
thread_safe (0.3.5)
timers (4.0.1)
hitimes
toml (0.1.2)
parslet (~> 1.5.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
yajl-ruby (1.2.1)
PLATFORMS
ruby
DEPENDENCIES
github-pages

View file

@ -1,6 +1,6 @@
name: Your New Jekyll Site name: Quentin Dufour
description: Blogging about stuffs description: dev, sysadmin and other computer stuff
meta_description: "Your New Jekyll Site, Blogging about stuffs" meta_description: "Quentin Dufour. dev, sysadmin and other computer stuff."
aboutPage: true aboutPage: true
@ -9,16 +9,16 @@ highlighter: pygments
paginate: 20 paginate: 20
baseurl: / baseurl: /
domain_name: 'http://yourblog-domain.com' domain_name: 'http://quentin.dufour.tk'
google_analytics: 'UA-XXXXXXXX-X' google_analytics: 'UA-37637739-1'
disqus_shortname: 'your-disqus-shortname' disqus_shortname: 'blogdequentin'
# Details for the RSS feed generator # Details for the RSS feed generator
url: 'http://your-blog-url.example.com' url: 'http://quentin.dufour.tk'
author: 'Your Name' author: 'Quentin Dufour'
authorTwitter: 'YourTwitterUsername' authorTwitter: 'superboum'
permalink: /:year/:title/ permalink: /blog/:year-:month-:day/:title
defaults: defaults:
- -

View file

@ -0,0 +1,21 @@
---
title: Un premier article
layout: post
---
<p>Voici un premier article avec le moteur de blog toto. Celui-ci est vraiment différent de ce que j'ai toujours connu. Je vais essayer de vous raconter assez rapidement ce qu'il en est.</p>
<h3>Du Ruby !</h3>
<p>toto est codé en Ruby on Rails, et est très légé. Il fait moteur de blog et rien que ça. Mais il le fait bien. Cependant, quand on a un serveur apache, c'est pas forcément simple à mettre en place. Je vous passe la description de la galère de la configuration de passenger, les droits, le fonctionnement de l'appli et les dépendances ! On va passer directement à ses avantages.</p>
<h3>Du texte</h3>
<p>Notre ami ne nécessite nullement MySQL ou une autre base de donnée : tout est géré dans des fichiers textes. L'article se compose, dans le fichier texte de cette manière :
<pre>title: Titre de l'article
author: Auteur
date: 00/00/0000
Texte de l'article
</pre>
<p>Il s'agit donc de créer un fichier texte et de le remplir, puis de le mettre au bon endroit, dans le dossier article. toto ne possède pas d'interface d'administration ou autre. pas de temps perdu. Vous pouvez même gérer le repertoire comme un dépot Git (pas encore essayé), pour écrire vos articles chez vous et les publier en une commande. Il s'agit bien sûr de gagner du temps.</p>
<h3>Et on personnalise</h3>
<p>La personnalisation de toto se fait aussi facilement, comme un site web normal, mais celui-ci étant léger, c'est à la portée de tous - à condition d'avoir quelques notions de html/css - , même de moi !</p>
<h3>En conclusion</h3>
<p>Même si j'ai eu beaucoup de mal à mettre en place ce blog, je trouve l'idée géniale. Je le recommande à ceux qui veulent bidouiller un peu, et qui ne veulent pas trop s'embêter avec un gros moteur de blog comme Wordpress ou Dotclear qui ont beaucoup plus de fonctionnalités.</p>

View file

@ -0,0 +1,53 @@
---
title: Telecharger des videos sur Internet
layout: post
---
<em>Mise à jour du 17/07/13 : remplacement de Easy Youtube Downloader par 1 click youtube video downloader qui est compatible avec Firefox 22 et plus</em>
<p>Tout le monde a été confronté au moins un jour dans sa vie à ce problème.
Une superbe vidéo se trouve sur un site internet de streaming (pour ne pas citer youtube), et vous mourrez d'envie de la récupérer.
D'ailleurs on pourrait épiloguer un certains temps, car en réalité les sites qui proposent du "vrai" streaming sont rares. Mais bon, on dérive un peu là. Vous voulez donc la télécharger sur votre disque dur. Mais comment ?
Je n'ai pas l'intention de tous les citer, la liste est plutôt longue... Je vais donc me focaliser sur <span style="text-decoration:line-through;">les meilleurs</span> mes préférés (hey, hey, qui a dit impartial ?).</p>
<h3>Depuis votre navigateur</h3>
<p>Nous allons commencer par les plugins intégrés au navigateur (dont Firefox, le meilleur navigateur du monde) #troll.</p>
<!--<p>
<strong>Easy Youtube Downloader</strong> ne fonctionne que sous Youtube (comme son nom l'indique, coïncidence ?), mais a l'immense avantage de s'intégrer au navigateur, de manière transparente.
Il fait juste apparaitre un petit bouton <em>Download</em> en dessous des vidéos Youtube qui vous permettra de télécharger votre vidéo dans le format que vous voulez.
<br/>Pour le télécharger, rendez-vous <a href="https://addons.mozilla.org/en-US/firefox/addon/easy-youtube-video-downl-10137/">ici pour Firefox</a> et <a href="http://goo.gl/ZJTVh">là pour Chrome</a>.
<br/><strong>Les plus</strong> : Facile, intégré, rapide, conversion dans le bon format / <strong>Les moins</strong> : Uniquement Youtube
</p>-->
<strong>1 click youtube video downloader</strong> remplace l'ancien Easy Youtube Downloader qui n'est plus supporté dans les dernières versions de Firefox. Son fonctionnement est analogue à son prédécesseur, il ajoute un bouton rouge "download" en dessous du titre de votre vidéo. Il ne vous reste plus qu'à cliquer dessus et choisir le format de votre vidéo.
<br/>Pour le télécharger, rendez-vous <a href="https://addons.mozilla.org/fr/firefox/addon/1-click-youtube-video-download/">ici pour Firefox</a>.
<br/><strong>Les plus</strong> : Facile, intégré, rapide / <strong>Les moins</strong> : Uniquement Youtube, plus de conversion en mp3
</p>
<p>Le deuxième plugin à avoir retenu mon attention, a décidé de battre tout les records en terme d'originalité, puisqu'il s'appelle <strong>Video DownloadHelper</strong>.
Lui aussi se charge de télécharger vos vidéos, depuis un grand nombre de site. Il vous previendra lorsqu'il pourra télécharger une vidéo avec une petite icone qui tourne, en haut, à gauche de la barre d'adresse de votre navigateur.<br/>
Pour le télécharger, c'est <a href="https://addons.mozilla.org/fr/firefox/addon/video-downloadhelper/">ici pour Firefox</a>.
<br/><strong>Les plus</strong> : Gère un grand nombre de sites / <strong>Les moins</strong> : Moins facile d'utilisation
</p>
<h3>En utilisant un logiciel</h3>
<p>
Pour ceux qui ne veulent pas utilsier de plugin, il existe tout de même une solution ! En passant par un logiciel, voilà, c'est simple comme tout
</p>
<p>
Le premier est <strong>Jdownloader</strong>, codé en java il est multiplateforme, et vous permettra de gérer vos téléchargements aussi, depuis des sites de partage de fichiers.
Vous ajoutez le lien de votre vidéo, il se charge du reste.
<br/><a href="http://jdownloader.org/download/index">Vous le trouverez ici</a>.
<br/><strong>Les plus</strong> : Multiplateforme (Windows, Mac OS, *nix) / <strong>Les moins</strong> : un peu lent
</p>
<p>Pour finir, Vdownloader, qui n'existe que sous Windows permet aussi de convertir les vidéos que vous téléchargez pour l'avoir dans le format désiré. Vous ajoutez votre lien, il se charge du reste.
<br/><a href="http://vdownloader.com/get/latest">Lien direct de téléchargement</a> ou <a href="http://vdownloader.com/">site internet</a>
<br/><strong>Les plus</strong> : Rapide, conversion / <strong>Les moins</strong> : Payant pour avoir toute les fonctionnalitées, uniquement Windows
</p>
<h3>En conclusion</h3>
<p>Vous devriez trouver votre bonheur dans ces 4 possibilitées, si vous en connaissez des meilleurs, n'hesitez pas à me le dire (Disqus vous attend).
Il existe d'autres possibilités pour récupérer ces vidéos, comme aller directement les chercher dans votre cache ou en utilisant des scripts, cependant, il s'agit d'utiliser une méthode simple.
Je n'ai pas proposé de site internet, car la qualité est souvent dégueulasse.
Enfin, pour finir, si vous rencontrez des problèmes pour ouvrir une vidéo téléchargée, essayez d'installer <a href="http://www.videolan.org/vlc/">VLC</a> et d'ouvrir votre vidéo avec ce dernier. Résultat garanti (voir conditions en magasin tout de même).
</p>

View file

@ -0,0 +1,20 @@
---
title: Ce moi(s) sur Diaspora 1
layout: post
---
<p>Ahaha, lancer une chronique sur un blog, le meilleur moyen de se tenir à un rythme de publication plutot régulier, ou alors de montrer qu'on ne publie pas ! Cependant, une chronique sur Diaspora s'imposait à moi, tellement ce monde est génial et différent (un peu comme quand tu prends du LSD, tu vois ?).
Diaspora est un réseau social décentralisé et open source, qui a de nombreux atouts. Même si je ne connais personne, je peux piller le contenu de parfaits inconnus, ahaha.
Cette semaine, c'est un post de <a href="https://joindiaspora.com/people/54820">Tidets</a> qui a retenu mon attention, et oui rien que ça.
</p>
<img src="http://www.marcandangel.com/images/thoughtquestions/1.jpg">
<p><em>Quel âge auriez-vous si vous ne saviez pas quel âge vous avez ?</em></p>
<img src="http://www.marcandangel.com/images/thoughtquestions/3.jpg">
<p><em>Est-il possible de mentir sans dire un mot ?</em></p>
<img src="http://www.marcandangel.com/images/thoughtquestions/4.jpg">
<p><em>Si pas maintenant, alors quand ?</em></p>
<img src="http://www.marcandangel.com/images/thoughtquestions/10.jpg">
<p><em>Pensez vous que pleurer est un signe de faiblesse ou de force</em></p>
<img src="http://www.marcandangel.com/images/thoughtquestions/16.jpg">
<p><em>Quand est-ce que vous avez essayé quelque chose de nouveau pour la dernière fois ?</em>
</p>

View file

@ -0,0 +1,22 @@
---
title: Hamachi et Minecraft, et puis quoi encore ?
layout: post
---
<p>Il existe beaucoup de serveurs Minecraft persos (je ne parle pas des gros serveurs) qui ont été montés avec Hamachi. Mais pourquoi ? Pourquoi passer par un réseau privé virtuel, alors qu'on pourrait passer directement par internet ? Personnellement Hamachi me fait vomir ! <em>Oui ceci est un coup de gueule !</em> Oui parce que Hamachi a quand même tendance à foutre le merdier dans votre réseau, pour peu que vous ayez des partages, tout les gens de votre serveur auront acces à ces
derniers. Enfin bon, je ne vous fais pas de dessin, niveau sécu c'est sale !
</p>
<p>La réponse est simple et affligeante : ces gens ne savent pas faire autrement. Je vais donc aborder dans les grandes ligne la théorie. Peut-être qu'un jour je rédigerai un tutoriel plus concret, quand j'aurais le temps (c'est dur quand on a un emplois du temps de - vrai - ministre ou un poil dans la main aussi. Choisissez une des deux justification).</p>
<h3>Problème 1 : Quelle adresse IP ?</h3>
<p>En utilisant Hamachi, ce dernier vous définit une adresse IP dans votre réseau local virtuel que les gens utiliseront pour se connecter. Cependant, votre ordinateur a plusieurs adresses IP, une pour chaque réseau. </p>
<p>Pour que des gens puissent se connecter à votre réseau, il faut récupérer votre adresse IP qui correspond au réseau internet, votre IP externe. Rien de plus facile, connectez vous sur un site comme <a href="http://www.monip.org/">www.monip.org</a>. Il vous suffit de la donner a vos contacts, cependant cette dernière change toute les 24 heures, il faudra donc la redonner à chaque fois</p>
<p>L'alternative est d'utiliser un DNS dynamique, un nom de domaine dynamique, comme monserveur.dyndns.org. Votre routeur (votre box mais j'utiliserais le terme routeur car c'est le vrai terme), se chargera de faire pointer votre nom de domaine vers votre adresse IP (c'est simplifié).</p>
<p>Plus concrètement vous vous inscrivez sur un site comme dyndns, dtdns ou noip, puis vous ajoutez vos informations de connexion a ces sites dans la configuration de votre routeur (depuis l'interface web, généralement à l'adresse <a href="192.168.1.1.">http://192.168.1.1</a>) - cette fois-ci c'est une IP accessible uniquement depuis votre réseau local -. Pour celà vous devez vous connecter, en général ce sont des identifiants par défaut comme utilisateur <strong>admin</strong> et mot de passe <strong>admin</strong>. Si vous ne savez pas comment faire, Google est votre ami. Une fois votre nom de domaine dynamique configuré dans votre routeur (votre box), les gens n'auront plus qu'à entrer votre nom de domaine dans le champ IP Address de Minecraft, et roulez jeunesse !</p>
<h3>Problème 2 : Quel ordinateur ?</h3>
<p>Ok, vos amis ont maintenant une adresse pour se connecter, cependant votre adresse IP internet est la même pour tous vos ordinateurs. Une fois les paquets arrivés sur votre routeur, ce dernier ne sait pas à quel ordinateur les envoyer - même si vous n'en avez qu'un. Il faut donc définir des règles NAT. Pour celà rendez vous dans la configuration de votre routeur (<a href="http://192.168.1.1">http://192.168.1.1</a>)</p>
<p>Cherchez la section correspondant au NAT (n'oubliez pas Google !). Il s'agit de faire transiter tout les paquets arrivant sur le port 25565 vers votre serveur. Pour cela, il faut indiquer l'adresse IP de votre serveur sur votre réseau local. Vous ne la connaissez certainement pas non plus celle là, car elle aussi est souvent attribué dynamiquement par votre routeur. Pour plus d'information, regardez <a href="http://ipfixe.emule-french.org/">par ici</a>. Une fois celà fait, indiquez l'adresse IP que vous avez défini.</p>
<h3>En conclusion</h3>
<p>Votre serveur devrait être maintenant fonctionnel sans avoir à installer Hamachi normalement. Ce qui vous évitera pas mal de problème, et sera bien plus facile pour ceux qui voudraient vous rejoindre. Et puis ça vous évitera d'installer cette bouse d'Hamachi.</p>

View file

@ -0,0 +1,23 @@
---
title: Utiliser le skin FLINT sur Roundcube
layout: post
---
<p>Des screenshots d'un nouveau thème Roundcube trainent sur la toile, sous le nom de FLINT. Il s'agit en fait d'un rafraichissement du thème par défaut prévu pour la version 0.8 de Roundcube. Il n'est donc pas encore proposé. Pas officiellement en tout cas, je vous propose cependant de télécharger la version bêta de la 0.8 pour avoir accès à ce dernier. La procédure est donnée dans le cas d'une machine à base Debian (Linux). A vous d'adapter.</p>
<h3>Téléchargement</h3>
<p>L'équipe de développement utilise subversion pour le développement de roundcube. Il vous faudra donc ce dernier pour récupérer le code. Si vous ne l'avez pas encore, il vous suffit de faire :
<pre>sudo apt-get install subversion</pre>
Vois voilà prêt. Allez dans le dossier où vous voulez télécharger roundcube. par défaut :
<pre>cd /var/www</pre>
Puis tapez les commandes suivantes :
<pre>
svn checkout https://svn.roundcube.net/trunk/roundcubemail/
cd roundcubemail/
svn checkout https://svn.roundcube.net/trunk/plugins/
</pre>
</p>
<h3>Installation</h3>
<p>
L'installation se fait comme un roundcube normale, lors de l'installation pensez juste à changer le thème <strong>default</strong> par <strong>larry</strong>.
Voilà, vous avez maintenant un thème magnifique sur votre roundcube. Cette version ne semble pas buggée et donc plutot stable. Cependant, celà reste une version de développement, donc à vos risques et périls....
</p>

View file

@ -0,0 +1,105 @@
---
title: Ce moi(s) sur Diaspora 2
layout: post
---
Aujourd'hui, on va bricoler un peu, grâce à <a href="https://joindiaspora.com/people/a6405cedb0632699">keke79390</a> qui a partagé ce magnifique article de <a href="https://linuxfr.org/wiki/Apprenez-%C3%A0-cr%C3%A9er-votre-r%C3%A9acteur-nucl%C3%A9aire">wiki linuxfr</a>
<blockquote>
<p>Comment on fait un réacteur nucléaire ? C'est compliqué ? C'est long ? C'est pour les pros ?
<br/>
Que nenni ! :P
</p><p>
Faire un réacteur nucléaire aujourd'hui, c'est facile et passionnant. Pas besoin d'être un expert pour en faire un, il suffit juste d'avoir un tutoriel qui vous explique depuis le début comment ça fonctionne, à votre rythme.
</p>
Ça tombe bien, car j'ai créé ce tutoriel spécialement pour vous qui n'y connaissez rien.
Ici, pas de connaissances requises. On part de zéro, depuis le début, et on apprend au fur et à mesure comment ça fonctionne.
</p><p>
Faites chauffer vos cellules, vous allez bientôt irradier vos proches ! ;-)
</p>
<h3>Objectif</h3>
<p>
L'objectif est de chauffer sa piscine à l'aide d'un réacteur nucléaire à eau.
</p>
<h3>Matériel nécessaire</h3>
<p>
Pour pouvoir réaliser votre réacteur nucléaire, vous devez réunir le matériel suivant :
<ul>
<li>Un baril vide en bon état.</li>
<li>Deux tuyaux d'arrosages.</li>
<li>De l'eau en grande quantité.</li>
<li>Des barres de ferrite.</li>
</ul>
Pas de panique ! Vous pouvez trouver tout ça en magasin de bricolage, et à la décharge municipale.
</p>
<h3>Assemblage du réacteur</h3>
<p>
Pour commencer, mettez le baril à la verticale, avec l'ouverture vers le haut.
</p><p>
Reliez le premier tuyau d'arrosage au robinet d'eau, et mettez l'autre extrémité dans le baril.
</p><p>
Mettez un côté du second tuyau d'arrosage dans le baril et l'autre dans la piscine.
</p><p>
Il faut que la piscine soit plus bas que le réacteur pour fonctionner. Dans le cas contraire, il faut une pompe à eau, mais son installation ne sera pas détaillée dans ce tutoriel.
</p><p>
Plongez les barres de ferrite à la verticale. Il vaut mieux en mettre trop que pas assez. Prévoyez large.
</p>
<h3>Le combustible</h3>
<p>
Le combustible nucléaire n'est malheureusement pas en vente libre. Vous pouvez cependant en obtenir en grande quantité en ramassant les cailloux qui brillent aux abords des centrales nucléaires. Pour plus de facilité, allez chercher les cailloux la nuit, ils seront plus visibles. Vous obtiendrez plus de cailloux radioactifs aux abords des centrales nucléaires de conception soviétique.
</p>
<p>
Attention, ne stockez jamais plus de cinq cailloux radioactif à moins de un mètre. La réaction en chaîne pourrait se déclencher. Cette limitation n'a plus effet une fois le combustible inséré dans le réacteur.
</p>
<h3>Mise en route du réacteur</h3>
<p>
La première chose à faire est d'alimenter en eau le réacteur. Ouvrez le robinet d'eau à fond.
</p><p>
Une fois que l'eau déborde du baril, il faut amorcer le tuyau qui va jusqu'à la piscine. Au niveau de la piscine, aspirez dans le tuyau avec votre bouche, jusqu'à ce que le débit d'eau qui coule soit correct.
</p><p>
Il faut cependant que le baril continue de déborder une fois l'amorce réalisée.
</p>
<h3>Alimentation en cailloux qui brillent</h3>
<p>
Maintenant, nous allons alimenter en matière radioactive le réacteur. Mais pas trop vite, car si le seuil critique est atteint et que la réaction s'emballe, vous ne pourrez plus rien contrôler.
</p><p>
Pour cela, le mieux est de procéder lentement. Commencez quand même par plonger une dizaine de cailloux radioactif dans le réacteur. Tant que l'eau ne frémit pas, retirez une à une les barres de ferrite. N'allez pas trop vite, cela pourrait être fatal.
</p><p>
Si il n'y a plus de barre de ferrite dans le réacteur, et que l'eau ne bout toujours pas, c'est qu'il n'y a pas assez de combustible. Commencez par remettre toutes les barres de ferrites, et ajoutez quelques cailloux radioactifs. Répétez le processus décrit précédemment jusqu'à ce que l'eau bouille.
</p><p>
Si l'eau de votre réacteur bout, vous avez réussi. Votre piscine doit être beaucoup plus chaude.
</p><p>
Pensez à ajouter un caillou radioactif à chaque fois que l'eau ne bout plus.
</p><p>
Si l'eau bout trop fort, remettez les barres de ferrites jusqu'à ce que la situation redevienne normale. Pensez à refroidir le réacteur aussi, par tout les moyens possibles.
</p>
<h3>Foire aux questions</h3>
<p>
<strong>Mon réacteur ne bout pas, et je n'ai plus de cailloux.</strong><br/>
Vos cailloux ne sont certainement pas assez radioactifs.
</p>
<p>
<strong>L'eau de mon réacteur s'évapore trop vite, et j'ai mis toutes les barres de ferrites.</strong></br>
Bravo, vous avez un accident nucléaire de niveau 5 au moins. Refroidissez le réacteur par tous les moyens possibles.
</p>
<p>
<strong>Ma piscine fait de la lumière bleue, est-ce normal ?</strong><br/>
C'est tout à fait normal. C'est pour faire beau. Si vos voisins râlent, dites-leur que c'est pas vous, c'est la faute aux soviétiques.
</p>
<p>
<strong>Mon réacteur a fondu, je ne sais pas quoi faire</strong><br/>
Vous avez un accident nucléaire bénin. Arrosez les restes du réacteur qui devraient s'enfoncer dans le sol.
</p>
<p>
<strong>Mes enfants sont des monstres, est-ce lié ?</strong><br/>
Bien sûr que non. Revoyez juste leur éducation, pour un modèle plus strict.
</p>
<h3>Avertissement</h3>
LinuxFR et les auteurs de ce tutoriel ne sont en aucun cas responsables de tout ce qui pourrait arriver suite aux manipulations décrites. Si vous avez un problème, prenez de l'iode.
</blockquote>

View file

@ -0,0 +1,7 @@
---
title: Incredibox, montez le son !
layout: post
---
<p><a href="http://www.incredibox.com/">Incredibox</a> est un site web qui vous propose de faire un human beatbox avec votre ordinateur. Vous pouvez faire chanter des personnages qui ont leur personnalité, quand vous voulez et comme vous voulez, et jusqu'à 8 simultanément. Vous allez pouvoir faire impression !</p>
<a href="http://www.incredibox.com/?music=4FA6B4E21856E">Mon beat</a>

View file

@ -0,0 +1,20 @@
---
title: Résoudre vos problèmes de connexion internet
layout: post
---
<p>Vous avez des problèmes avec votre connexion internet, divers bugs, du genre :
<quote>Ma box plante</quote>, <quote>Je perds ma connexion internet tous les soirs</quote> ou encore <quote>mon débit est limité</quote>.
Vous n'êtes pas le seul, j'ai, entre autre, expérimenté. Voilà quelques solutions qui vous aideront (peut-être).</p>
<h3>Ma connexion internet n'est pas stable</h3>
<p>Vous perdez régulièrement votre connexion internet ? Le soir en particulier ? Il s'agit de pertes de synchronisations. Ces dernières proviennent en général de la mauvaise qualité de réception du signal. Soit de votre installation personnel, soit de l'installation France Telecom. Dans le deuxième cas il ne reste pas grand chose à faire</p>
<p>Il est préférable de brancher votre routeur sur la prise téléphonique principal de votre maison, et de limiter au maximum les dérivations qui partent de cette dernière et qui pourraient la parasiter.</p>
<p>Vérifiez d'abord votre prise téléphonique. Est-elle oxydée à l'intérieur ? Et les branchements fait dessus sont-ils correctement réalisés ? Votre prise ne nécessite que deux fils de branché, le blanc et le gris. Faites attentions aux branchements qui en partent. Vous pouvez essayer en ne laissant que ces deux fils branchés.</p>
<img src="http://img253.imageshack.us/img253/4233/sanstitrefa6.png"/>
<p>Faites attention à l'âge de votre prise, car les contacts entre la prise et la fiche sont très mauvais. Les connecteurs de la prise femelle sont trop souples, et si il ne sont pas absolument neufs et pas oxydés, vous tenez surement la cause de vos déconnexions intempestives !</p>
<h3>Mon débit est limité (abonnés Orange uniquement)</h3>
<p>Si votre débit est inférieur à celui auquel vous êtes éligible, il est peut-être bridé par un DLM (Dynamic Line Management) mis en place automatiquement par Orange. Ce dernier mesure la qualité de votre ligne, et si il considère qu'elle n'est pas assez stable, il bride le débit de votre ligne (entre autre). Si vous considérez que vous n'en avez pas besoin, vous pouvez formuler une demande afin que ce bridage soit retiré <a href="http://assistance.orange.fr/contact_dlm.php">à partir de ce formulaire.</a></p>
<h3>Compléments et sources</h3>
<a href="http://telephoniste.free.fr/circuits/priseT/">Informations sur les prises téléphoniques</a><br/>
<a href="http://assistance.orange.fr/vos-questions-sur-le-dlm-4312.php">Explication du DLM par Orange</a>

View file

@ -0,0 +1,30 @@
---
title: Chatbot, le programme qui dit bonjour !
layout: post
---
<p>Voici enfin une version 0.1 de mon programme codé en python et qui permet d'échanger à l'aide d'un chat. D'où le nom, très original, chatbot. Il est encore dans ses débuts, ses prémices, soyez indulgents ! (pas les pierres, pas les pierres !). Il se base sur deux possibilités pour vous répondre. Soit une liste d'expressions interchangeables : Bonjour, Salut, Hello. Le fait de taper l'une renverra une des autres, ou le jeu Question-Réponse, si une des questions est posée, chatbot renvoie une des réponses associées. Gardez bien à l'esprit que chatbot n'est pas sensible à la casse : que vous tapiez "chatbot" ou "Chatbot", ou même "ChaTBoT", le logiciel l'interpretera de la même manière.</p>
<h3>Téléchargement</h3>
<p><ul><li><a href="http://data.dufour.tk/apps/files_sharing/get.php?token=b03a46cd022fceca7addcefbb7bd7f4130d3828f">Téléchargement Windows</a></li>
<li>Téléchargement sources (à venir)</li></ul>
Vous devez extraire le .zip et lancer chatbot.exe. Par défaut, chatbot reconnais quelques mots comme "bonjour", "au revoir" et "ça va ?", mais vous pouvez lui en apprendre bien plus, et c'est juste en dessous...
</p>
<h3>Configuration</h3>
<p>Pour personnaliser votre chatbot, et vous allez voir qu'il y a de quoi, vous devez ouvrir le fichier <strong>savoir.txt</strong></p>
<p>Le fonctionnement du fichier est assez simple. Chaque ligne correspond à un groupe d'expression qui ont le même sens. Je m'explique, en ouvrant le fichier, la première ligne que vous allez voir sera celle-ci :</p>
<pre>Bonjour<%>Salut<%>Yop<%>Plop<%>Hi<%>Hello</pre>
<em style="padding-left: 40px;">Exemple d'expressions interchangeables</em>
<p>Toutes ces expressions ont le même sens. Elles sont séparées par la balise <strong><%></strong> qui permet à chatbot de les séparer. Si vous tapez une de ces expressions, chatbot vous en retournera une de cette même ligne, au hasard.</p>
<p>Le système des Questions-Réponses est un peu plus dur à mettre en oeuvre (mais j'ai confiance en vous :D), car il faut séparer questions et réponses. C'est la balise <strong>&lt;/&gt;</strong> qui s'en charge. A gauche de cette balise se trouve les différentes questions similaires, séparées par la même balise que tout à l'heure (<%>). A droite, les réponses qui seront données dans le cas ou une de ces questions aurait été posée, elles sont aussi séparées par <%>.</p>
<pre>ca va ?<%>ça va ?&lt;/&gt;Oui<%>Non</pre>
<em style="padding-left: 40px;">Exemple d'expressions de type questions/réponses</em>
<p>Ici, que vous posiez la question "ca va ?" ou "ça va ?", chatbot vous répondra soit "Oui", soit "Non"</p>
<p>Maintenant c'est à vous, ajoutez vos lignes à la suite ou à la place de celles déjà existantes ! N'hésitez pas a être original et à faire preuve de fantaisie, un peu d'humour ne pourra rendre ce chatbot que plus humain ! :)</p>

View file

@ -0,0 +1,8 @@
---
title: Zombie Grinder, poutrez du zombie
layout: post
---
<p>Zombie Grinder est un petit jeu gratuit avec des graphismes a l'ancienne. Il vous propose de survivre a des hordes de zombies, jusqu'à 4, en réseau. Vraiment sympa, il y a de quoi s'amuser, avec plusieurs modes de jeux et maps. Vous pourrez même personnaliser votre personnage avec l'argent récolté ! Tout se joue au clavier ou au joystick, pas besoin de souris. A vos armes !</p>
<p>Le jeu est actuellement en version pre-pre-alpha (dixit le splash screen du jeu), c'est pas grave, ça marche quand même, mais vous pouvez être exposé à quelques bugs. Pour le télécharger, rendez-vous sur le <a href="http://twindrills.com/">site officiel</a> ou téléchargez le via <a href="http://www.desura.com/games/zombie-grinder">Desura</a>.</p>

View file

@ -0,0 +1,40 @@
---
title: Premiers pas sur IRC
layout: post
---
<p>Vous vous demandez si l'IRC, ça se mange ? Cet article est fait pour vous ! L'<em>Internet Relay Chat</em>, souvent abrégé IRC, est un protocole de communication textuelle sur Internet. En français on peut traduire ça par Discussion Relayée par Internet. Cet article ne rentrera pas dans les détails techniques, <a href="http://fr.wikipedia.org/wiki/Internet_Relay_Chat">Wikipédia</a> est là pour ça. Nous allons voir, en pratique, et de manière facile, comment utiliser ce service sur mon serveur IRC <em>irc.dark-desert.tk</em>.</p>
<h3>Le choix du client : Smuxi</h3>
<p>IRC est un protocole, un langage. Pour l'utiliser, il faut un logiciel qui parle ce langage. Il en existe des dizaines. J'ai retenu Smuxi pour sa facilité et sa flexibilité. Rien ne vous empêche d'en chercher d'autre, le fonctionnement est similaire !</p>
<p>Tout d'abord, téléchargez Smuxi : <a href="http://www.smuxi.org/download.php?file=smuxi-0.8.9.2-1-win32-setup.exe">Pour Windows</a> ou pour <a href="http://www.smuxi.org/download.php?file=smuxi-0.8.9.2-1-osx.zip">Mac OSX</a>. Les utilisateurs de Linux sauront se débrouiller. Installez-le : suivant, suivant... Si Smuxi vous propose de télécharger GTK pendant l'installation, acceptez, sans ça, Smuxi ne fonctionnera pas.</p>
<h3>Configurer Smuxi pour se connecter au serveur voulu</h3>
<p>Lors du premier lancement, Smuxi vas se connecter automatiquement à un serveur. Mais ce dernier ne vous intéresse pas, nous allons le désactiver. Tout d'abord, allez dans Serveur (en haut) puis cliquez sur Gestion. Sélectionnez <em>irc.oftc.net</em> et cliquez sur Edit. Décochez Se connectez automatiquement à chaque démarrage. Si vous êtes sûr de ne jamais vous connecter sur ce serveur, au lieu de cliquez sur Edit vous pouvez tout simplement cliquez sur Remove pour l'enlever, et répéter la manipulation avec tous les serveurs qui ne vous interressent pas ! Inutile de garder des paramètres de connexion d'un serveur dont vous ne vous servirez jamais !</p>
<p>Ajoutons notre serveur ! Revenez sur la fenêtre principale de Smuxi en n'oubliant pas de valider vos changements. Retourner dans le menu Serveur, et cliquez sur Add. Dans nom d'hôte, ajoutez <em>irc.dark-desert.tk</em> et dans Nom d'utilisateur, votre pseudo. Cochez Se connecter automatiquement au serveur à chaque démarrage si vous voulez vous connecter automatiquement ! Cliquez sur Ok.</p>
<p>Si vous n'utilisez pas la connexion automatique, cliquez sur Serveur, puis Connexion Rapide. Cliquez sur irc.dark-desert puis Connect. Un onglet s'ouvre, une fois connecté le message suivant doit apparaitre :</p>
<pre class="code">21:50 [375 (MotdStart)] - irc.dark-desert.tk Message of the Day -
21:50 [372 (Motd)] - 7/7/2012 21:13
21:50 [372 (Motd)] - -----------------------------------------------------
21:50 [372 (Motd)] - D A R K D E S E R T I R C
21:50 [372 (Motd)] - -----------------------------------------------------
21:50 [372 (Motd)] -
21:50 [372 (Motd)] - Bienvenue sur le serveur IRC Dark Desert.
21:50 [372 (Motd)] - Tapez /help pour demander de l'aide.
21:50 [372 (Motd)] - Bonne discussion !
21:50 [376 (EndOfMotd)] End of MOTD command.</pre>
<h3>Que faire ?</h3>
<p>A partir de là, vous pouver visualiser les personnes connectées sur le serveur en tapant :
<pre class="code">/who *</pre>
Pour ne parler qu'à une personne en particulier de la liste, vous pouvez initier une discussion privée en tapant :
<pre class="code">/msg <em>pseudo</em></pre>
Un onglet s'ouvrira ou vous pourrez parler avec cette personne uniquement.
</p>
<p>Cependant, le principal intéret de l'IRC sont les channels ou des salons, des endroits ou l'on peut discuter à plusieurs, pour voir la liste des salons disponibles, tapez :
<pre class="code">/list *</pre>
(Ne faites pas attention aux salons avec un & devant).<br/>
Cliquez sur le nom du salon que vous voulez rejoindre, pour le rejoindre. Vous pourres parler avec tous les membres qui sont dedans aussi. Vous pouvez aussi rejoindre un salon existant ou le créer en tapant :
<pre class="code">/join #<em>nomdusalon</em></pre>
Voilà, vous avez les commandes de base !</p>
<h3>Un peu de configuration</h3>
<p>Pour changer la police, cliquez sur Fichier puis Préférences. Allez dans Interface, Onglet Sortie. Cochez Ignorer dans le cadre Police, puis sélectionnez votre Police en cliquant sur la bouton juste à droite..

View file

@ -0,0 +1,19 @@
---
date: '2012-07-26 00:00:00'
layout: post
slug: le-meme-en-mieux-
status: publish
title: Le même en mieux !
desc: Just because I broke up everything
categories:
- web
tags:
- hello world
- jekyll
---
Suite au crash du disque dur de mon serveur, qui venait de fêter ses 12 ans en grande pompe, j'ai commencé à repenser tout "l'écosystème" qui tourne dessus. Ruby On Rails semblait bien inutile pour faire tourner mon blog. En plus de tous les inconvénients que ça amenait en l'intégrant à Apache, ça ralentissait le système... Je suis donc passé à Jekyll !
###Jekyll, Tukyll, Ellekyll...
Jekyll permet de générer un site web statique (composé uniquement de fichiers HTML). Ca simplifie la vie, une fois votre site généré, il ne vous reste plus qu'à l'héberger, et un hébergement comme ça, c'est facile à trouver gratuitement, et ça consomme rien. Votre serveur web n'a plus qu'à envoyer les pages sans traitement.
###L'âge de pierre
Pas tout à fait, parce que le squelette qui reste sur votre ordinateur et que vous générez a bien la forme d'un site web en PHP avec le design de base dans lequel on intègre nos élèments. C'est super souple, et du coup faire son propre design est super facile (ok, pomper celui des autres l'est encore plus...)

View file

@ -0,0 +1,21 @@
---
date: '2012-10-04 20:03:00'
layout: post
slug: mfiez-vous-de-larp-spoof
status: publish
title: Méfiez vous de l'arp spoof
desc: L'ARP Spoof est une attaque sournoise et puissante sur un réseau local, découvrez pourquoi !
categories:
- reseau
tags:
- arp spoof
- attaque
- hack
---
L'arp spoof est une attaque permettant à une personne présente sur le même réseau local (LAN) que vous,
de faire transiter tout le trafic par son ordinateur. Concrètement, la personne qui la mettra en place pourra voir et même modifier tout ce que vous faites !
Il n'y a pas de protection magique, elle se base sur le fonctionnement d'un réseau. Vous pouvez toujours définir manuellement l'adresse MAC de la passerelle grâce à la commande arp sous Linux. En effet, via cette protection, notre pirate pourra toujours tenter de se faire passer pour la passerelle, votre ordinateur n'écoutera que lui.
En conclusion, quand vous êtes sur un réseau public, ne faites pas confiance aux sites webs, il est toujours possible, d'une manière ou d'une autre, de voir et modifier ce que vous faites. N'en devenez pas parano pour autant, et bon surf !

View file

@ -0,0 +1,25 @@
---
layout: post
slug: deux-courts-metrages-par-jeremy-strohm
status: publish
title: Deux courts métrages par Jérémy Strohm
desc: Quelque fois on fait d'heureuses découvertes sur Youtube, en voici une.
categories:
- media
tags:
- youtube
- courts métrages
---
Je m'intéresse particulièrement aux courts métrages. En surfant sur Youtube, j'ai eu la chance de découvrir quelques réalisations de Jérémy Strohm qui selon moi mériterait d'être plus connu.
Tout d'abord, un drôle de court métrage qui prend place dans un Paris des années 1995, je ne vous en dis pas plus, je vous laisse découvrir...
<iframe width="853" height="480" src="https://www.youtube.com/embed/6EaDP_2YJko?rel=0" frameborder="0" allowfullscreen></iframe>
Ensuite, je vous propose une réalisation plus récente, ma préférée : Rien à dire.
<iframe width="853" height="480" src="https://www.youtube-nocookie.com/embed/jT5zYvuHE7s?rel=0" frameborder="0" allowfullscreen></iframe>
A chaque fois je suis sidéré par les chutes qui sont excellentes. Les plans sont magnifiques, les sujets abordés surprenants.
En tout cas, si vous aussi vous avez aimé, vous pouvez jeter un oeil à sa [chaine youtube]
(https://www.youtube.com/user/jeremystrohm/).

View file

@ -0,0 +1,20 @@
---
layout: post
slug: partageons-la-musique-professor-kliq
status: publish
title: Partageons la musique Professor Kliq
desc: Musique libre gratuite et cool
categories:
- media
tags:
- jamendo
- musique
---
Professor Kliq a réalisé plusieurs albums electro-techno ces dernières années.
Cependant vous ne trouverez pas son dernier album sur Amazon ou Itunes, mais plutot du côté de Jamendo. En effet, notre musicien publie ses musiques sous license Creative Common. Vous pouvez donc les télécharger gratuitement et légalement !
Et ce n'est pas un petit rigolo amateur comme ça, certaine de ses musiques ont été utilisées dans diverses publicités. Par exemple Nadeo s'en est servi pour la promotion de Trackmania 2
###Pour en savoir plus :
http://www.jamendo.com/fr/artist/339989/professor-kliq
http://www.professorkliq.com

View file

@ -0,0 +1,28 @@
---
layout: post
slug: decouvrez-la-vie-dune-personnalite
status: publish
title: Découvrez la vie d'une personnalité
desc: Arte propose tous les jours une petite vidéo humoristique sur une personnalité
categories:
- media
tags:
- video
- arte
---
Arte propose depuis l'année dernière une série à la publication quotidienne retraçant la vie d'une célébrité.
Maintenant à sa deuxième saison, cette dernière est programmée en début d'été pendant environ deux mois.
Ce qui fait sa particularité est son ton totalement décalé mais surtout sa réalisation. Uniquement avec des petits objets qui représentent à merveille les personnages et le décor.
Mais ne sous-estimons pas le côté instructif de l'émission, celle-ci à quand même pour objectif de résumer en 2 minutes la vie d'une célébrité !
Certains diront que les petits objets s'attardent un peu trop sur les détails et anecdotes des grandes célébrités, voir même l'accuse de déformation.
Mais après tout, je vous parle d'une série qui s'appelle "Tout est vrai ou presque".
Vous êtes maintenant prévenu !
###On regarde ça tout de suite !
<iframe width="560" height="315" src="http://www.youtube.com/embed/I3Zioc63AuA?list=PLE6306B8827EFCCEF" frameborder="0" allowfullscreen></iframe>

View file

@ -0,0 +1,59 @@
---
layout: post
slug: tout-sur-les-serveurs-teeworlds-partie-1
status: publish
title: Créer un serveur Teeworlds (partie 1)
description: Un serveur Teeworlds basique
categories:
- reseau
tags:
- teeworlds
- jeu
- serveur
---
Teeworlds est un FPS 2D tout mignon, puisque vous incarnez une petite boule de couleur, ressemblant plus ou moins à un Kirby. Mais ne vous y méprenez, leurs intentions sont loins d'être pacifistes ! Vous pouvez télécharger le client et le serveur de ce jeu sur le site : <http://www.teeworlds.com>. En effet, ce dernier est totalement libre. Nous allons voir comment configurer notre serveur !
###Télécharger & installer
Le serveur et le jeu sont dans le même dossier zip que vous avez téléchargé. pas besoin d'installation ici, vous n'avez qu'à extraire votre zip.
Dedans vous trouverez un "teeworlds" et un "teeworlds_srv".
###Le fichier de configuration
Créer un fichier server.cfg dans votre dossier Teeworlds, puis éditez le avec un éditeur de texte (Bloc Note ou autre)
Voici un fichier de configuration basique :
sv_name ServeurTeeworlds
password motDePasse
sv_rcon_password motDePasseAdmin
sv_port 8303
sv_gametype dm
sv_warmup 10
sv_map dm1
sv_maprotation dm1 dm2 dm6 dm7 dm8 dm9
sv_max_clients 8
sv_scorelimit 20
sv_tournament_mode 0
sv_motd Bienvenue sur notre serveur !
sv_powerups 1
sv_timelimit 0
sv_spectator_slots 0
Quelques expliations, sv_name correspond au nom de votre serveur. password est le mot de passe qui sera demandé aux gens qui se connectent. En laissant le champ vide, aucun mot de passe ne sera demandé. sv_rcon_password est un mot de passe pour administrer votre serveur. sv_gametype est le type de jeu : dm = deathmatch ; tdm = team deathmatch ; ctf = capture the flag.
sv_warmup est le temps d'échauffement en secondes, sv_map la map de départ et sv_maprotation les maps qui seront joués (pour voir une liste, allez dans le dossier data puis maps de votre dossier teeworlds. sv_max_clients est le nombre max de joueurs, sv_scorelimit la limite de score. sv_motd le message du jour.
###Le lancement
Ouvrez un terminal (touche windows + r puis cmd sous Windows) puis rendez vous dans le dossier :
(cd C:\Chemin\Vers\Teeworlds ou sous Linux cd /home/utilisateur/chemin/vers/Teeworlds).
Une fois dans le dossier lancez la commande
sous Linux :
./teeworlds_srv -f ./server.cfg
ou sous Windows :
./teeworlds_srv.exe -f ./server.cfg
Voilà, vous avez maintenant un serveur qui fonctionne, n'oubliez pas de rediriger le port 8083 de votre routeur vers votre serveur si vous voulez que des gens s'y connecte depuis internet et de couper vos pare-feux (ou encore mieux, de les configurer !)

View file

@ -0,0 +1,166 @@
---
layout: post
slug: installer-icescrum-7
status: publish
title: Installer Icescrum
description: Gestion de projet agile self-hosted
categories:
- web
tags:
- projet
- developpement
---
Le processus d'installation sera décrit dans le cas d'une installation Debian normale. Si vous utilisez une autre distribution, vous devrez peut-être adapter certaines commandes. Tous les processus d'installation seront en cli (interface ligne de commande). Je ne suis pas un expert java ni sysadmin, certains choix ne seront peut-être pas les meilleurs. Je suis ouvert à vos retours.
__Il sera considéré que vous possédé déjà une installation de java sun complète et fonctionnelle.__
###Installation via apt-get
```bash
$ sudo apt-get install tomcat7 tomcat7-common mysql mysql-client mysql-java
```
_Nous n'utiliserons pas l'interface web de configuration disponible avec tomcat_
Une fois installé, vérifiez votre installation en allant sur http://localhost:8080
Vous devriez voir le It Works de tomcat.
###Téléchargement de IceScrum 7
Nous allons maintenant pouvoir télécharger le fichier icescrum.war sur [le site officiel](http://www.icescrum.org/download/). Attention, le lien est un tout petit bouton vert.
Considérons que vous l'avez place dans le home de l'utilisateur courant, déplacez le :
``` bash
$ sudo mv ~/icescrum.war /var/lib/tomcat7/webapps/
```
###Configuration Tomcat
N'ayant pas réussi à utiliser le système de base de donnée fourni avec icescrum et qui plus est déconseillé pour une autre utilisation que des tests, je vous propose une configuration avec MySQL. Libre à vous d'adapter votre configuration en fonction de vos besoins. Tout d'abord Icescrum a besoin de variables d'environnement pour fonctionner.
```bash
$ sudo nano /usr/share/tomcat7/bin/setenv.sh
```
Il ne vous reste plus qu'à y insérer le contenu suivant :
```bash
CATALINA_OPTS="-XX:MaxPermSize=512m -Xmx1024m"
CATALINA_OPTS="$CATALINA_OPTS -Dicescrum_config_location=/etc/tomcat7/icescrum.groovy"
CATALINA_OPTS="$CATALINA_OPTS -Duser.timezone=UTC"
CATALINA_OPTS="$CATALINA_OPTS -Dicescrum.log.dir=/var/lib/tomcat7/basedir/icescrum/"
```
Avant d'entrer vraiment dans le vif de la configuration de Icescrum, vous devrez tout d'abord configurer votre serveur tomcat pour qu'il puisse supporter icescrum, pour ce faire :
```bash
$ sudo nano /etc/tomcat7/server.xml
```
Trouvez la ligne commencant par `<Connector port="8080"` et remplacez là entièrement par `<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="2000" maxThreads="500" URIEncoding="UTF-8"/>`
###Configuration Mysql
Il faut ajouter une base de donnée vide à votre mysql. On l'appelera ici icescrum.
```bash
$ echo "create database icescrum"|mysql -u root -p
```
###Configuration Icescrum
Vous devez créer maintenant le fichier de configuration principal de icescrum
```bash
$ sudo nano /etc/tomcat7/icescrum.groovy
```
et insérez le texte suivant après avoir configuré ce qui vous intéresse.
__Attention, grails.serverURL est très important, il doit représenter l'url du serveur tel qu'il sera vu par les clients, n'oubliez pas d'éditer si vous faites des modification !!!__
```text
//Server URL - IMPORTANT
grails.serverURL = "http://127.0.0.1:8080/icescrum"
//Logging (for debug purposes)
icescrum.debug.enable = true
//Working directory
icescrum.baseDir = "/var/lib/tomcat7/basedir/icescrum/"
//PostgreSQL
//dataSource.driverClassName = "org.postgresql.Driver"
//dataSource.dialect="net.sf.hibernate.dialect.PostgreSQLDialect"
//dataSource.dialect="org.hibernate.dialect.PostgreSQLDialect"
//dataSource.url = "jdbc:postgresql://localhost:5432/icescrum"
//dataSource.username = "postgres"
//dataSource.password = "postgres"
dataSource.dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
dataSource.driverClassName = "com.mysql.jdbc.Driver"
dataSource.url = "jdbc:mysql://localhost:3306/icescrum?useUnicode=true&characterEncoding=utf8"
dataSource.username = "root"
dataSource.password = "password"
//Mail server (These exemple values aren't set by default)
grails.mail.host = "smtp.gmail.com"
grails.mail.port = 465
grails.mail.username = "identifiant@gmail.com"
grails.mail.password = "mot-de-passe"
//Project
icescrum.project.import.enable = true
icescrum.project.export.enable = true
icescrum.project.creation.enable = true
icescrum.project.private.enable = true
//Users
icescrum.gravatar.secure = false
icescrum.gravatar.enable = true
icescrum.registration.enable = true
icescrum.login.retrieve.enable = true
//Alerts
icescrum.auto_follow_productowner = true
icescrum.auto_follow_stakeholder = true
icescrum.auto_follow_scrummaster = true
icescrum.alerts.errors.to = "quentin@dufour.tk"
icescrum.alerts.subject_prefix = "[icescrum]"
icescrum.alerts.enable = true
icescrum.alerts.default.from = "mrsuperboum@gmail.com"
//Attachments
icescrum.attachments.enable = true
```
Il faut aussi créer les dossiers que l'on a déclaré dans le setenv.sh précédemment
```bash
$ sudo mkdir -p /var/lib/tomcat7/basedir/icescrum
```
Puis donner les permissions à tomcat dessus :
```bash
$ sudo chown -R tomcat7:tomcat7 /var/lib/tomcat7/basedir
```
###Lancement
Il ne vous reste plus qu'à relancer tomcat et croiser les doigts.
```bash
$ sudo service tomcat7 restart
```
Pour voir si tout se passe bien, regardez les logs de tomcat :
```bash
$ sudo tail -f /var/log/tomcat7/catalina.out
```
Enfin, vous pouvez accéder à votre installation icescrum depuis [http://127.0.0.1:8080/icescrum](http://127.0.0.1:8080/icescrum)
Si vous rencontrez des problèmes, commencez par vérifier les permissions sur vos répertoires et que tout ce que vous deviez installer à bien été installé !

View file

@ -0,0 +1,42 @@
---
layout: post
slug: utiliser-casperjs
status: draft
title: CasperJS
description: Du test fonctionnel au web scraping
categories:
- web
tags:
- projet
- developpement
---
CasperJS est un outil qui permet d'écrire des tests fonctionnels sur un projet web. Il se charge de tester votre application web en général, et suitune liste d'action prédéfinie. Il teste la stabilité et la cohérence général du service. C'est super pratique quand il s'agit de détecter les effets de bord !
```javascript
casper.start('http://my_website.tld/login', function() {
this.test.assertTitle('Super website', 'Web page title OK');
this.sendKeys('form[action*="login_check"] input[id="username"]', 'me@domain.tld');
this.sendKeys('form[action*="login_check"] input[id="password"]', 's3cr3t');
this.click('form[action*="login_check"] input[type="submit"]');
});
casper.then(function(){
console.log('Url courante : ' + this.getCurrentUrl());
this.test.assertSelectorHasText('#content-header > h1', 'Tableau de bord', 'Web page main content OK');
});
casper.run(function() {
this.test.done();
});
```
##Fonction 1
Ce script se charge de se rendre sur la page de connexion, vérifie le titre de la page puis entre un identifiant et un mot de passe et enfin valide.
##Fonction 2
La seconde fonction vérifie que la page contient bien ce qui est attendu après la connexion. Ici, un titre h1 contenant le texte Tableau de bord.
##Fonction 3
Enfin cette dernière fonction indique que le test est fini. Elle affiche les statistiques sur le test.

View file

@ -1,23 +0,0 @@
---
title: "Welcome to Jekyll!"
date: 2013-11-10 10:18:00
description: Thriller Comedy Horror
---
You'll find this post in your `_posts` directory - edit this post and re-build (or run with the `-w` switch) to see your changes!
To add new posts, simply add a file in the `_posts` directory that follows the convention: YYYY-MM-DD-name-of-post.ext.
Jekyll also offers powerful support for code snippets:
{% highlight ruby %}
def print_hi(name)
puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.
{% endhighlight %}
Check out the [Jekyll docs][jekyll] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll's GitHub repo][jekyll-gh].
[jekyll-gh]: https://github.com/mojombo/jekyll
[jekyll]: http://jekyllrb.com

171
_posts/2014-04-30-l2tp.markdown Executable file
View file

@ -0,0 +1,171 @@
---
layout: post
slug: l2tp
status: draft
title: Tunnel L2TP
description: Créer un tunnel avec la commande ip
categories:
- linux
tags:
- projet
---
J'utilise assez couramment OpenVPN afin de contourner le filtrage de certains pare feu, ou pour changer d'adresse IP, particulièrement dans le cas de serveurs de jeux un peu tatillon lors des lans, qui refusent plus de X connexions depuis la même adresse IP.
En lisant le man de la commande ``ip``, je suis tombé sur un passage sur l2tp, une autre façon de faire du VPN. Pour ceux qui voudraient la documentation technique, je vous inviter à faire un petit ``man ip-l2tp``. Ici, nous verrons la partie pratique.
Tout d'abord il faut savoir que l'implémentation de L2TP dans la commande ip pose des contraintes particulières. En effet, le tunnel est "static" ou "unmanaged". Il n'y a pas de protocole de controle L2TP, pas de daemon, tous les paramètres doivent être entrés à la main. Enfin, on ne peut faire passer que des frames ethernet.
##L2TP et Debian
J'ai actuellement deux versions de Debian en serveur. Une Jessie (Testing) et une Wheezy. J'ai aussi une Fedora 20 en client. La Wheezy ne semble pas vouloir l2tp de base. Notons aussi que la doc ``ip-l2tp`` est absente. Au moment de lancer la commande, j'ai un magnifique :
```bash
RTNETLINK answers: No such file or directory
Error talking to the kernel
```
Quant à ma Fedora, tout semblait aller bien, jusqu'à l'ajout d'une session dans mon tunnel, où j'ai eu cette erreur :
```bash
RTNETLINK answers: Protocol not supported
```
Dans les deux cas, la solution est simple, quoique pas facile à trouver : il faut charger le bon module noyau :
```bash
sudo modprobe l2tp_eth
```
Je n'ai pas fais les tests jusqu'au bout avec Jessie, je suppose que ça marche. A vous d'adapter !
_Je vous met le lien du thread OpenStack au cas où [l2tpV3 on Ubuntu Precise](https://ask.openstack.org/en/question/3881/l2tpv3-on-ubuntu-precise/)_
Bref, nous voilà prêt à en découdre avec L2TP !
##Commençons par créer un tunnel
On va d'abord établir la liaison entre les deux machines avant d'attaquer autre chose.
####Le PC-A
```bash
ip l2tp add tunnel tunnel_id 1337 peer_tunnel_id 1338 \
encap udp local 192.168.1.12 remote 192.168.1.38 \
udp_sport 5000 udp_dport 5001
```
On ajoute un tunnel avec pour id 1337 en local et 1338 sur l'ordinateur distant.
On encapsule les données en UDP (possibilité d'utiliser l'IP si pas de NAT ou de passerelle).
On donne notre adresse IP locale et l'adresse IP du serveur distant.
On précise les ports UDP à utiliser (sport = local et dport = distant)
####Le PC-B
On tape la commande en "miroir" du coté client (on inverse les id, les adresses ip et les ports) :
```bash
ip l2tp add tunnel tunnel_id 1338 peer_tunnel_id 1337 encap udp local 192.168.1.38 remote 192.168.1.12 udp_sport 5001 udp_dport 5000
```
####Des commandes utiles
Vous pouvez aussi supprimer et voir les tunnels existants :
```bash
ip l2tp del tunnel tunnel_id 1337
ip l2tp show tunnel
```
_Attention, vous devez avoir supprimé toutes les sessions du tunnel avant de pouvoir le supprimer._
##Ajoutons une session dans le tunnel
####Le PC-A
```bash
ip l2tp add session tunnel_id 1337 session_id 337 peer_session_id 338
```
On ajoute une session dans le tunnel 1337
Son identifiant en local est 337 et sur l'ordinateur distant 338
Enfin pour activer l'interface (recommandé dans le man) :
```bash
ip link set l2tpeth0 up mtu 1488
```
####Le PC-B
Comme d'habitude, on fait ça en miroir :
```bash
ip l2tp add session tunnel_id 1338 peer_session_id 337 session_id 338
```
Idem, pour activer l'interface :
```bash
ip link set l2tpeth0 up mtu 1488
```
####Des commandes utiles
Plus ou moins le même schéma que tout à l'heure, avec quelques ajouts :
```bash
ip l2tp del session tunnel_id 1337 session_id 337
ip l2tp show session
ip addr
```
La dernière commande vous permet de voir qu'une interface l2tpeth0 a été ajoutée à vos interfaces.
##Configurons l'interface en IP
####Le PC-A
```bash
ip addr add 10.42.1.1 peer 10.42.1.2 dev l2tpeth0
```
On assigne l'adresse IP 10.42.1.1 a l'interface l2tpeth0 et on informe que l'interface distante a pour adresse 10.42.1.2.
####Le PC-B
```bash
ip addr add 10.42.1.2 peer 10.42.1.1 dev l2tpeth0
```
La même chose en miroir (pour changer).
####Les tests
Tout d'abord vérifiez que les interfaces soient bien configurées et UP :
```
ip addr
```
Un petit coup d'oeil aux routes ne fait pas de mal :
```
ip route
```
On peut se lancer dans le grand bain en pingant l'ordinateur distant. Depuis PC-A, on fait :
```
ping 10.42.1.2
```
Si le ping passe, c'est que vous avez réussi ! Sinon, n'hésitez pas à utiliser tout l'arsenal d'outils à votre disposition : wireshark, etc.
Pour moi, ça a marché, à vous de jouer !
##Problèmes
* Il semble nécessaire de créer un tunnel par couple de PC avec cette implémentation de L2TP.
* Si vous êtes derrière un NAT, vous devez pouvoir changer sa configuration des DEUX cotés.
##Explorons !
Il reste encore bien des possibilités. Ainsi, nous verrons prochainement comment bridger les interfaces en L2TP pour faire passer autre chose que de l'IP ainsi que quelques rudiments de routage avec ``ip route``

114
_posts/2014-10-15-web.markdown Executable file
View file

@ -0,0 +1,114 @@
---
layout: post
slug: web
status: published
title: L'histoire du web
description: Aperçu rapide des lib et frameworks web
categories:
- web
tags:
---
Réaliser un site web aujourd'hui compte de nombreux enjeux. Cet article se découpe en plusieurs parties. L'idée derrière ce post est de traverser les années (plus ou moins) et de voir ce qui se fait, pour progresser doucement. Nous utiliserons bien sûr que des technologies actuelles.
Tout d'abord, le web, c'était des pages statiques, fixées, qui ne bougent pas. On a ensuite rajouté des couleurs. Ce sera notre première étape.
Ensuite, on a voulu rendre les pages dynamiques, pouvoir les modifier en fonction du visiteur. Deuxième étape.
Après ça, on a commencé à imaginer des sites web dynamiques, qui pourraient intéragir avec l'utilisateur et le serveur sans recharger la page, nous arrivons à notre troisième étape.
Nous rentrons maintenant dans l'air industriel, avec les différents outils pour gérer votre projet web.
Enfin, nous terminerons avec les technologies web de demain, qui permettent de réaliser de vrais applications et plus encore.
## Le commencement : HTML & CSS
Le HTML est un langage de balisage. Il permet de décrire à l'aide d'un fichier texte les types d'informations qui seront contenues dans votre document html - à fortiori sur votre site web. Un fichier HTML ne se préocuppe pas du rendu, des couleurs. Pour ce qui est de l'apparence, du cosmétique, on utilise le CSS. Le CSS applique des modifications sur des balises du HTML.
Pour tester votre page en HTML ou CSS, il vous faut juste un bloc note et un navigateur
__Un petit exemple__ : Nous déclarons que ce bloc de texte est un paragraphe grâce au HTML. Nous pouvons changer la couleur de ce dernier grâce au CSS.
__Où apprendre le HTML et CSS ?__ :
- [OpenClassRooms](http://fr.openclassrooms.com/informatique/cours/apprenez-a-creer-votre-site-web-avec-html5-et-css3)
- [Documentation Mozilla Developer Network](https://developer.mozilla.org/fr/docs/Web/HTML)
## Des pages générées dynamiquement par le serveur
### Le contenu statique
Pour rendre accessible mes pages HTML et CSS à tout le monde, je dois utiliser un serveur web. Ce sont actuellement des contenus statiques. Apache et nginx excellent dans ce domaine. Si vous utilisez Windows, vous pouvez installer WAMP (Windows Apache MySQL PHP) ou XAMP (X Apache MySQL PHP). Sous linux, installez nginx ou apache
### Soyez dynamique !
####La version old-school avec PHP
L'idéal serait de pouvoir générer nos pages web à la volée. La manière la plus simple serait de le faire avec PHP. Nous ne nous atterderons pas sur cette possibilité qui est dépréciée. Sachez juste qu'une page PHP en 2000 pouvait ressembler à ça :
```php
<!doctype html>
<html>
<head>
<title>Mon titre</title>
</head>
<body>
<h1>Nous sommes le <?php echo date("d-m-Y"); ?></h1>
</body>
</html>
```
####De nouveaux langages, une nouvelle approche
Bien que PHP reste majoritaire dans beaucoup de cas, de nouvelles approches pour développer votre application web.
Entre autre, de plus en plus de sites sont développés grâce à Python, Javascript, Ruby, Java, etc. Leur approche est différente. Dans ce cas là, on va écrire un programme dans ce langage, qui va utiliser une bibliothèque http. Pour lancer notre site web, il ne nous restera qu'à lancer notre programme.
####Arrêtons de réinventer la roue !
Il existe de nombreux frameworks, qui posent les bases d'une application. C'est comme si des personnes avaient déjà écrit le squelette de votre application, vous n'avez plus qu'à implémenter ce que vous voulez. Voici une liste non exhaustive avec leur langage associé :
* Symfony, gros framework, une référence sur PHP [Documentation](http://symfony.com/fr/doc/current/quick_tour/the_big_picture.html)
* Zend, idem que Symfony, PHP [Documentation](http://framework.zend.com/manual/2.3/en/user-guide/overview.html)
* Silex, Framework dérivé de Symfony, léger, PHP [Documentation](http://silex.sensiolabs.org/doc/intro.html)
* Express, Framework léger pour NodeJS [Documentation](http://expressjs.com/starter/installing.html)
* SailsJS, Gros framework NodeJS [Documentation](http://sailsjs.org/#/getStarted)
* Rails, framework Ruby [Documenation](http://guides.rubyonrails.org/getting_started.html)
* Django, framework Python [Documentation](https://docs.djangoproject.com/en/1.7/intro/overview/)
* Play, framework Java [Documentation](https://www.playframework.com/documentation/2.3.x/Installing)
_Tout ces liens mènent vers la page de démarrage du projet, n'hésitez pas à naviguer sur les sites pour avoir des infos sur le framework_
####Design Pattern MVC
Tout ces frameworks partagent un point commun : leur façon de fonctionner. Elle est appelée MVC ou Modèle Vue Controlleur.
Pour faire simple, un utilisateur fait une requete sur votre application en cliquant sur un lien, ce qui appelle un __Controlleur__. Ce __Controlleur__ va chercher les informations dont il a besoin dans les __Modèles__. Une fois les informations en sa possession, il les injecte dans la __Vue__, puis la renvoit à l'utilisateur.
Chaque controlleur sera donc associé à une url de notre application. Par exemple BlogController() fera référence à http://quentin.dufour.tk/blog, AboutController() fera référence à http://quentin.dufour.tk/about...
Un modèle représente une entité de notre application. On aura donc un objet User, un objet Article, un objet Page...
La vue est le code HTML de base dans lequel on va injecter le code de notre article. Une vue de ce blog pourrait ressembler à ça :
```html
<article>
<h1>{[ article.title ]}</h1>
<p>{[ article.content ]}</p>
<em>{[ article.author ]}</em>
</article>
```
##Le Javascript, en route vers la web app'
A chaque fois que votre utilisateur fait une action, vous devez recharger la page web. Vous pouvez mettre fin à ça facilement grâce au javascript !
Il y a quelques années, la révolution jQuery est arrivée et a rendu le javascript simple. Les sites actuels sont d'une tel complexité que jQuery semble désuet. jQuery est une bibliothèque, et permet de réaliser certaines actions plus facilement. Il ne vous impose pas de cadre. Il vous permet de facilement modifier le DOM, le code html de votre page web à la volée. Pour en savoir plus, je vous renvois à la [documentation](http://api.jquery.com/) ou le cours
d'[OpenClassRooms](http://fr.openclassrooms.com/informatique/cours/jquery-ecrivez-moins-pour-faire-plus).
Aujourd'hui, utilisez jQuery pour construire une application web de 0 semble suicidaire. Il est préférable d'utiliser un framework, qui définit clairement un cadre, avec un endroit précis pour vos fonctions.
Les deux plus connues sont [Backbone](http://backbonejs.org/#introduction) et [Angular](https://angularjs.org/).
Angular utiliser par exemple un modèle MVC, semblable à celui de votre serveur mais pour votre client.
Voilà, nous venons de faire un tour très rapide de l'évolution du web, et donc de ses technologies. Il en existe bien plus, à vous de les découvrir !