Bloc n0de, blog note. Not a blog.

Aller au contenu | Aller au menu | Aller à la recherche

dimanche 7 août 2011

Du ptit Bash.

Juste un petit bout de script que je mets ici pour m'en souvenir. Il permet de parcourir un fichier contenant une URL par ligne, de telecharger le contenu de cette URL (en completant le transfert en cas de fichier prealablement en partie telecharge), et de ne compter que les nouveaux telechargements complets. Cela me permet de maintenir a jour un mirroir de fichiers dont les listes sont constitues automatiquement par un autre script.

#!/bin/bash

saved_count=0
echo Downloading :
for FILE_URL in $(cat $URLS)
do
        echo $FILE_URL
        wget -c $FILE_URL 2>&1 > /dev/null | grep 'saved' && saved_count=$(($saved_count +1))
done
echo Total saved $saved_count

samedi 21 mai 2011

L'outil de veille par excellence : le lecteur RSS.

On me demande souvent quels outils j'utilise pour me tenir informé sur les dernières évolutions de divers domaines. L'outil le plus adapté, d'après mon expérience, est tout simplement le lecteur RSS. Muni d'une bonne liste "d'abonnements", on peut conserver un oeil sur plusieurs blogs/sites à la fois, en ayant un suivi de ce qui a déjà été lu. De plus, le lecteur de flux permet d'uniformiser la mise en page des sites, et ainsi d'en faciliter la lecture, en évitant les distractions qui pourraient être causées par le style des pages, ou les publicités qui s'y trouvent. J'utilise actuellement Google reader, qui nécéssite d'avoir un compte Google, et peut être utilisé en version "légère", sur téléphone portable. Edit: On peut avoir des recommandations de flux RSS avec Google Reader, en cliquant sur le "+" dans "Explorer", sur la gauche. Il existe de nombreux autres lecteurs RSS, sous forme de logiciels "desktop", d'applications mobiles, ou d'applications en ligne.

Voici un extrait de ma liste d'abonnements, certains sites valent vraiment le détour et méritent d'être lus régulièrement (entre autres : le blog de Stéphane Bortzmeyer, Planet-libre, Framablog...). J'en ai laissé d'autres, dont certains billets m'ont parus intéressants, mais dont le contenu ne traite pas forcément que de technique. Un outil de suivi automatique prend tout son sens avec des sites où les publications arrivent au compte goutte, comme celui-ci, que je me suis permis d'ajouter en fin de liste.

Le code suivant est à copier dans un fichier .xml, qui peut être réimporté dans Google Reader ("Gérer mes abonnements" -> Import/export) ou tout autre lecteur RSS compatible avec le format OPML.

<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
    <head>
        <title>Abonnements dans Google Reader</title>
    </head>
    <body>
        <outline text="43 Folders" title="43 Folders" type="rss"
            xmlUrl="http://feeds.feedburner.com/43folders" htmlUrl="http://www.43folders.com"/>
        <outline text="AnandTech Article Channel"
            title="AnandTech Article Channel" type="rss"
            xmlUrl="http://www.anandtech.com/rss/" htmlUrl="http://www.anandtech.com"/>
        <outline text="Ars Technica" title="Ars Technica" type="rss"
            xmlUrl="http://feeds.arstechnica.com/arstechnica/index/" htmlUrl="http://arstechnica.com/index.php"/>
        <outline text="bit-tech.net Hardware Feed"
            title="bit-tech.net Hardware Feed" type="rss"
            xmlUrl="http://feeds2.feedburner.com/bit-tech/hardware" htmlUrl="http://www.bit-tech.net/"/>
        <outline text="Blog de Stéphane Bortzmeyer"
            title="Blog de Stéphane Bortzmeyer" type="rss"
            xmlUrl="http://www.bortzmeyer.org/feed-full.atom" htmlUrl="http://www.bortzmeyer.org/"/>
        <outline text="Blog perso de Paul Da Silva"
            title="Blog perso de Paul Da Silva" type="rss"
            xmlUrl="http://feeds2.feedburner.com/p4ul" htmlUrl="http://www.paulds.fr"/>
        <outline text="Blogeee.net !: La communauté Netbook"
            title="Blogeee.net !: La communauté Netbook" type="rss"
            xmlUrl="http://feeds.feedburner.com/blogeee/articles" htmlUrl="http://www.blogeee.net"/>
        <outline text="BUG BROTHER" title="BUG BROTHER" type="rss"
            xmlUrl="http://bugbrother.blog.lemonde.fr/feed/" htmlUrl="http://bugbrother.blog.lemonde.fr"/>
        <outline text="copyleft hardware planet"
            title="copyleft hardware planet" type="rss"
            xmlUrl="http://en.qi-hardware.com/planet/rss20.xml" htmlUrl="http://en.qi-hardware.com/planet/"/>
        <outline text="Cory Doctorow's craphound.com"
            title="Cory Doctorow's craphound.com" type="rss"
            xmlUrl="http://craphound.com/?feed=rss2" htmlUrl="http://craphound.com"/>
        <outline text="DLFP - Dépêches" title="DLFP - Dépêches"
            type="rss"
            xmlUrl="http://linuxfr.org/backend/news/rss20.rss" htmlUrl="http://linuxfr.org/"/>
        <outline text="DLFP - Journaux" title="DLFP - Journaux"
            type="rss"
            xmlUrl="http://linuxfr.org/backend/journaux/rss20.rss" htmlUrl="http://linuxfr.org/"/>
        <outline text="FDN Brèves" title="FDN Brèves" type="rss"
            xmlUrl="http://www.fdn.fr/backend-breves.php" htmlUrl="http://www.fdn.fr/"/>
        <outline text="Framablog" title="Framablog" type="rss"
            xmlUrl="http://www.framablog.org/index.php/feed/atom" htmlUrl="http://www.framablog.org/index.php/"/>
        <outline text="France Wireless : wifi et liberté"
            title="France Wireless : wifi et liberté" type="rss"
            xmlUrl="http://www.wireless-fr.org/spip.php?page=backend" htmlUrl="http://www.wireless-fr.org/"/>
        <outline text="FredCavazza.net" title="FredCavazza.net"
            type="rss" xmlUrl="http://feeds2.feedburner.com/fredcavazza" htmlUrl="http://www.fredcavazza.net"/>
        <outline text="French Data Network" title="French Data Network"
            type="rss" xmlUrl="http://www.fdn.fr/backend.php" htmlUrl="http://www.fdn.fr/"/>
        <outline text="GCU-Squad!" title="GCU-Squad!" type="rss"
            xmlUrl="http://www.gcu-squad.org/feed/" htmlUrl="http://www.gcu-squad.org"/>
        <outline text="Geekfault (Articles + Brèves)"
            title="Geekfault (Articles + Brèves)" type="rss"
            xmlUrl="http://feed.geekfault.org/Geekfault/" htmlUrl="http://geekfault.org"/>
        <outline text="Geekscottes" title="Geekscottes" type="rss"
            xmlUrl="http://www.nojhan.net/geekscottes/rss.php" htmlUrl="http://www.nojhan.net/geekscottes"/>
        <outline text="Hack a Day" title="Hack a Day" type="rss"
            xmlUrl="http://hackaday.com/feed/" htmlUrl="http://hackaday.com"/>
        <outline text="HardWare.fr" title="HardWare.fr" type="rss"
            xmlUrl="http://www.hardware.fr/backend/news.xml" htmlUrl="http://www.hardware.fr/"/>
        <outline text="i, g33k u" title="i, g33k u" type="rss"
            xmlUrl="http://feeds.feedburner.com/IG33kU" htmlUrl="http://ig33ku.blogspot.com/"/>
        <outline text="IKEA Hackers" title="IKEA Hackers" type="rss"
            xmlUrl="http://feeds.feedburner.com/Ikeahacker" htmlUrl="http://www.ikeahackers.net/"/>
        <outline text="Industrialisation PHP"
            title="Industrialisation PHP" type="rss"
            xmlUrl="http://www.industrialisation-php.com/feed/" htmlUrl="http://www.industrialisation-php.com"/>
        <outline text="InternetActu.net" title="InternetActu.net"
            type="rss"
            xmlUrl="http://feeds.feedburner.com/internetactu/bcmJ" htmlUrl="http://www.internetactu.net"/>
        <outline text="Korben" title="Korben" type="rss"
            xmlUrl="http://www.korben.info/feed" htmlUrl="http://www.korben.info"/>
        <outline text="Le Blog Ecommerce" title="Le Blog Ecommerce"
            type="rss" xmlUrl="http://www.blog-ecommerce.com/feed" htmlUrl="http://www.blog-ecommerce.com"/>
        <outline text="Les intégristes" title="Les intégristes"
            type="rss"
            xmlUrl="http://feeds.feedburner.com/lesintegristes" htmlUrl="http://www.lesintegristes.net"/>
        <outline text="Les Numériques" title="Les Numériques" type="rss"
            xmlUrl="http://www.lesnumeriques.com/rss.xml" htmlUrl="http://www.lesnumeriques.com/"/>
        <outline text="MeRT" title="MeRT" type="rss"
            xmlUrl="http://www.mstuttle.com/feed/" htmlUrl="http://www.mstuttle.com"/>
        <outline text="Mobifrance Articles" title="Mobifrance Articles"
            type="rss"
            xmlUrl="http://feeds.feedburner.com/PdafranceArticles" htmlUrl="http://www.mobifrance.com"/>
        <outline text="N.survol.fr : pensées et écrits en lignes"
            title="N.survol.fr : pensées et écrits en lignes" type="rss"
            xmlUrl="http://n.survol.fr/n.atom" htmlUrl="http://n.survol.fr/n"/>
        <outline text="Offensive Security" title="Offensive Security"
            type="rss" xmlUrl="http://www.offensive-security.com/feed/" htmlUrl="http://www.offensive-security.com"/>
        <outline text="OWNI" title="OWNI" type="rss"
            xmlUrl="http://owni.fr/feed/" htmlUrl="http://owni.fr"/>
        <outline text="PC INpact" title="PC INpact" type="rss"
            xmlUrl="http://www.pcinpact.com/include/articles.xml" htmlUrl="http://www.pcinpact.com"/>
        <outline text="PC INpact" title="PC INpact" type="rss"
            xmlUrl="http://www.pcinpact.com/include/news.xml" htmlUrl="http://www.pcinpact.com"/>
        <outline text="PDAfrance News" title="PDAfrance News" type="rss"
            xmlUrl="http://feeds.feedburner.com/PdafranceNews" htmlUrl="http://www.mobifrance.com"/>
        <outline text="Phoronix" title="Phoronix" type="rss"
            xmlUrl="http://feeds.feedburner.com/Phoronix" htmlUrl="http://www.phoronix.com/"/>
        <outline text="Planet Libre" title="Planet Libre" type="rss"
            xmlUrl="http://www.planet-libre.org/feed.php?type=rss" htmlUrl="http://www.planet-libre.org"/>
        <outline text="PLog" title="PLog" type="rss"
            xmlUrl="http://blog.penet.org/index.php?feed/atom" htmlUrl="http://blog.penet.org/index.php?"/>
        <outline text="Qi - News" title="Qi - News" type="rss"
            xmlUrl="http://en.qi-hardware.com/w/index.php?title=News&amp;action=feed&amp;feed=rss" htmlUrl="http://en.qi-hardware.com/wiki/News"/>
        <outline text="ReadWriteWeb" title="ReadWriteWeb" type="rss"
            xmlUrl="http://feeds.feedburner.com/readwriteweb" htmlUrl="http://www.readwriteweb.com/"/>
        <outline text="ReadWriteWeb France" title="ReadWriteWeb France"
            type="rss" xmlUrl="http://fr.readwriteweb.com/feed/" htmlUrl="http://fr.readwriteweb.com"/>
        <outline text="Reflets" title="Reflets" type="rss"
            xmlUrl="http://feeds.feedburner.com/refletsinfo" htmlUrl="http://reflets.info"/>
        <outline text="Scripting News" title="Scripting News" type="rss"
            xmlUrl="http://scripting.com/rss.xml" htmlUrl="http://scripting.com/"/>
        <outline text="sebsauvage.net" title="sebsauvage.net" type="rss"
            xmlUrl="http://sebsauvage.net/rss/updates.xml" htmlUrl="http://sebsauvage.net/"/>
        <outline text="The Daily WTF" title="The Daily WTF" type="rss"
            xmlUrl="http://syndication.thedailywtf.com/TheDailyWtf" htmlUrl="http://thedailywtf.com/"/>
        <outline text="The Geek Stuff" title="The Geek Stuff" type="rss"
            xmlUrl="http://feeds.feedburner.com/TheGeekStuff" htmlUrl="http://www.thegeekstuff.com"/>
        <outline text="WHEREWEDOWHATWEDO" title="WHEREWEDOWHATWEDO"
            type="rss"
            xmlUrl="http://feeds.feedburner.com/WHEREWEDOWHATWEDO" htmlUrl="http://wherewedowhatwedo.com"/>
        <outline text="Workstation Setups" title="Workstation Setups"
            type="rss"
            xmlUrl="http://feeds.feedburner.com/WorkstationSetups" htmlUrl="http://www.workstationsetups.com"/>
        <outline text="xkcd.com" title="xkcd.com" type="rss"
            xmlUrl="http://xkcd.com/rss.xml" htmlUrl="http://xkcd.com/"/>
        <outline text="Bluetouff's blog" title="Bluetouff's blog"
            type="rss"
            xmlUrl="http://feeds.feedburner.com/bluetouff/RPba" htmlUrl="http://bluetouff.com"/>
        <outline text="n0de.info" title="blog n0de" type="rss"
            xmlUrl="http://n0de.info/feed/rss2" htmlUrl="http://n0de.info"/>
    </body>
</opml>

jeudi 16 septembre 2010

Limp : Vim + LISP

Le lien vers le tutorial en préparation.

jeudi 5 août 2010

Bash tips #2

Comment enlever le bip du terminal.

Liens en vrac #1

Je pense archiver quelques liens sur ce blog pour future référence, cela pourrait en intéresser d'autres ... Par contre ce sera vraiment très très en vrac.

Bon, j'ai suffisament vidé le contenu de mon wiki ici pour aujourd'hui. La prochaine fois, je m'attaque aux bookmarks de firefox !

dimanche 6 juin 2010

Bash Tips #1

Un bref billet pour donner une petite astuce, aujourd'hui : Ctrl + R.

Lire la suite...

jeudi 22 avril 2010

Promo chez Direct2Drive !!

Un billet pas très productif, mais bon, à ce prix là il faut en parler. Même si je n'aurai probablement pas le temps d'y jouer avant plusieurs mois, ca vaut le coût...

Lire la suite...

jeudi 1 avril 2010

A venir

A venir prochainement ...

  • un article sur git, un SCM très intéressant !
  • un article sur screen et l'apologie des programmes en mode texte :p
  • des projets top-secret !!

La commande write sous GNU/Linux

Pas forcément facile de communiquer dans une équipe lorsque l'on a pas accès à IRC ou MSN depuis une salle de travail. Heureusement, pour transmettre des messages simples (et pas du code), il y a la commande write. :)

Lire la suite...

vendredi 17 avril 2009

SVN, Quick Start guide

Un premier tutoriel basique pour expliquer la connexion sur un serveur ayant svnserve de lancé.

Lire la suite...

lundi 6 avril 2009

Utiliser NXCLIENT pour lancer une session graphique à distance

Ce tutorial est destiné aux étudiants de l'Université Bordeaux 1.

Lire la suite...

dimanche 5 avril 2009

Vi, Vim

Vi, ou Vim dans sa version dite "améliorée", est un éditeur de texte en mode texte. Très apprécié dans le domaine de la programmation, je vous propose ici une rapide sélection de liens décrivant son utilisation basique.

Lire la suite...

SSH - Connexion sans mot de passe, version simple.

SSH vous permet de vous connecter à un serveur sans avoir besoin d'entrer un mot de passe.
Cela s'avère fort pratique lorsque vous utilisez un programme tel que scp, sftp, ou tout simplement lorsque vous voulez gagner du temps pour vous logger dans un shell distant.
Pour cela, ssh utilise un système de clés de chiffrement RSA.

Les différentes clés RSA

Le chiffrement RSA repose sur une paire de clés, l'une étant privée, l'autre publique.
En fait, dans cette méthode, on génèrera celles-ci sur le poste "client", on ajoutera la clé publique dans la liste des clés autorisées à se connecter sur le serveur, et la clé privée restera elle sur le poste client, et servira à "prouver" l'identité de celui-ci.
Dans ce cas précis, la personne possédant la clé privée aura accès au serveur sans avoir besoin d'un mot de passe. Ainsi, on fera attention à utiliser cette méthode sur une machine où seul la personne concernée aura accès à son compte utilisateur.

Il suffit de lancer la commande ssh-keygen depuis le shell du poste client, et de répondre aux questions.
Pour faire simple, on répondra seulement en appuyant sur la touche entrée à chaque fois. Vous remarquerez que le programme demande quel mot de passe sera utilisé pour crypter la clé de cryptage, et ainsi empêcher son utilisation par un tiers. Mais il faudra taper celui-ci à chaque fois qu'on utilisera la clé, un mot de passe en remplacant un autre.
Dans un prochain tutorial, on utilisera ssh-agent pour gérer le trousseau de clés et ainsi apporter une sécurité supplémentaire à celles-ci.

Le programme ayant terminé sa tâche, on se retrouve avec un dossier ~/.ssh/ contenant deux fichiers : id_rsa et id_rsa.pub.
Le premier constitue la clé privée, le deuxième la clé publique. Il est très important de conserver la clé privée à l'abri d'autres utilisateurs, puisqu'elle n'est pas protégée par un mot de passe, encore une fois.

Copie de la clé publique

On envoie ensuite la clé publique de la manière suivante : scp /cletemp
On se loggue ensuite sur le serveur, de manière classique : ssh loginSurLeServeur@adresse.du.serveur
Ensuite, on crée le dossier .ssh s'il n'existe pas encore : mkdir ~/.ssh
On ajoute ensuite le contenu de cletemp au fichier authorized_keys2 du dossier .ssh avec la méthode "append" du pipe sous bash :
cat .ssh/authorized_keys2

Le fichier authorized_keys2 constitue une liste des clés publiques autorisées à se connecter sur le serveur sans avoir à entrer de mot de passe.
Le détail de l'identification par échange de clé RSA fera (peut être ?) l'objet d'un prochain article ici même.

samedi 14 février 2009

SSH

SSH est un protocole permettant de se connecter et d'ouvrir un shell sur une machine distante, par le réseau.