Analyse de traces réseau par l’exemple

6 avril 2011 3 commentaires

Le présent article n’a en rien pour objectif de vous dévoiler tous les mystères des analyses réseau, étant donné que cela aborde une quantité de concepts assez large.

J’ai choisi de procéder par un exemple pour montres les étapes principales nécessaires à une bonne analyse réseau.

Pour cet article, pas de VM, j’ai fait au plus simple, un serveur web (lighttpd), un navigateur web (w3m, mais ce n’est pas important) et un outil de capture/analyse de traces. Pour ce dernier, j’utilise Wireshark, qui convient tout à fait à mon besoin.

Le principe de cet exemple est tout simple. Nous allons analyser ce qu’il se passe niveau réseau quand mon navigateur va accéder au serveur web pour afficher une page.

Tout d’abord une présentation rapide de Wireshark. Il s’agit d’un analyseur de paquets réseau, multi plateformes supportant plusieurs centaines de protocoles (nous verrons cela plus loin). Il possède l’avantage de s’interfacer avec un outil de capture réseau (tshark) et de posséder une interface graphique plutôt intuitive, pour peu que l’on sache ce que l’on veut faire.

L'interface de Wireshark

Pour notre exemple, nous allons donc procéder en premier lieu à une capture réseau. Le principe est tout simple, nous lançons la capture avec Wireshark, et ensuite nous affichons notre page web sur le navigateur, suite à quoi nous pourrons stopper la capture et passer à l’étape suivante, c’est à dire l’analyse de notre capture.

Il est nécessaire que Wireshark soit lancé en tant que « root » pour pouvoir effectuer des captures réseau (pour des raisons de sécurité).

Dans notre exemple, le serveur et le client sont installés sur la machine locale, une capture simple sur l’interface de boucle locale (lo) sera utilisée. Il est cependant possible d’effectuer toutes sortes de captures, sur toutes les interfaces de la machine (y compris les interfaces USB), en appliquant divers filtres. Cependant je n’en parlerais pas dans cet article, par soucis de ne pas tout tenter d’expliquer en même temps.

Donc pour lancer ma capture, je me contente de cliquer sur l’interface « lo » dans la liste des interfaces. Apparaît alors une fenêtre me permettant de suivre en temps réel l’avancée de ma capture.

Aucun paquet capturé pour le moment

Pour le moment n’ayant aucune communication sur cette interface, aucun paquet n’a été capturé. Je peux donc lancer l’affichage de ma page web (page d’accueil par défaut du serveur) dans mon navigateur.

La fameuse page web

Et tout de suite le résultat de la capture est affiché dans Wireshark.

Résultat de la capture

Nous allons pouvoir maintenant passer à la partie qui nous intéresse vraiment, à savoir l’analyse de la capture en elle-même.

Chaque ligne affichée correspond à un paquet, chacun identifié par un numéro. Dans la colonne suivante est affiché le temps écoulé depuis le début de la connexion (information très utile par exemple pour savoir quelle partie intervient dans la lenteur d’une connexion). Ensuite la source et la destination, qui indiquent quelles sont les IP émettrices et réceptrices du paquet, informations utiles dès lors que plus de 2 machines sont utilisées, peu pertinentes pour notre exemple, les 2 étant la même machine. Vient ensuite le protocole utilisé, cela permet dans notre cas d’identifier les différentes parties d’une connexion. Viennent ensuite les informations qui nous en apprennent déjà pas mal sur le paquet en question.

Ces informations nous montrent ainsi ce que sont les trois premiers paquets. Il s’agit du three ways handshake permettant l’établissement de la connexion.

Le premier paquet, [SYN] est une demande de connexion envoyée par le client (le navigateur) au serveur, le second [SYN ACK] est un accusé de réception de cette demande (du serveur au client) et le troisième est un « accusé de cet accusé ». Il s’agit de la méthode utilisée pour établir une connexion avec le protocole TCP, qui est un protocole réseau en mode connecté (il y a un suivi des informations envoyées).

A la suite de ces trois paquets, la connexion est établie entre le serveur et le client, le client va pouvoir alors faire sa requête. Il s’agit du paquet suivant, « GET / HTTP/1.0″, qui signifie tout simplement que l’on demande la page d’accueil par défaut du serveur.

Immédiatement le serveur accuse réception de cette demande ([ACK]), et la traite. Cela résulte alors en l’envoi de la page demandée dans le paquet suivant, « HTTP/1.0 200 OK ». Le serveur informe ensuite que le dernier paquet de réponse a été transmis, dans notre cas un seul paquet aura suffit à transmettre toute l’information, mais dans le cas de gros fichiers plus de paquets sont nécessaires.

Le client accuse alors réception des paquets, et informe le serveur qu’il souhaite mettre un terme à la connexion. Le serveur accuse alors réception de cette demande et la connexion est alors terminée.

Cet exemple résume bien le déroulement d’une communication classique entre un serveur et un navigateur. Nous allons maintenant étudier cela d’un peu plus prêt en nous attaquant à l’analyse proprement dite d’un paquet. Pour cette étape j’ai choisi d’étudier le paquet contenant la page Web, étant le paquet le plus intéressant selon moi car il regroupe le plus de protocoles.

Sans vouloir entrer dans les détails, un paquet du protocole http est encapsulé dans du tcp, lui-même encapsulé dans du protocole IP (pour informations complémentaires, se référer au modèle OSI et notamment son architecture en 7 couche). Pour simplifier, chaque protocole cité précédemment fait partie d’une couche plus ou moins élevée de ce modèle.

Nous allons donc nous servir de Wireshark pour analyser ce paquet. Un double clic sur ce paquet nous permet d’afficher de plus amples informations (informations également données dans le panel inférieur).

Zoom sur un paquet

Dans la partie du haut, 5 lignes, toutes étendables.

La première donne des informations basiques sur le paquet : taille, date d’émission et de réception…

Ensuite sont séparées les informations des différents protocoles mis en jeu, dans l’ordre proposé par le modèle OSI.

Tout d’abord la couche de liaison de donnée, avec le protocole Ethernet. L’information à en tirer est l’adresse MAC des deux protagonistes.

Ensuite vient la couche de réseau avec le protocole IPv4. Attardons nous un peu sur cette ligne. En la dépliant, on peut voir tout un tas d’informations, résumées sur cette image (source Wikipedia).

Elements de l'entête IP

Les éléments les plus importants sont la version du protocole (IPv4 ou IPv6) ainsi que l’adresse IP source et destination. La partie « Protocol » correspond au protocole encapsulé, dans notre cas, TCP. Toutes ces informations sont principalement à destination des routeurs traversés par le paquet.

Vient ensuite le protocole TCP. Il permet entre autres de définir quels sont les ports source et destination d’un paquet.

Enfin vient le protocole HTTP en lui-même, contenant les données envoyées par le serveur, c’est à dire la page web.

Notre page web... ou pas

Parmi les informations concernant le succès de la requête, ainsi que l’identification du serveur (lighttpd 1.4.26), se trouve l’entête du fichier envoyé par le serveur. Nous constatons que la page Web a été envoyée compressée au format bzip2. De ce fait, dans la partie Data nous ne retrouvons pas directement la page Web telle qu’affichée dans notre navigateur.

Pour retrouver cette page, il va falloir faire autrement. Retournons à l’affichage principal de Wireshark. Sélectionnons ensuite le paquet, et naviguons jusqu’à afficher la partie Data (comme dans l’image ce-dessus). Ensuite, un clic droit puis « Export selected Packet Bytes » permettra d’extraire ces données sous forme de fichier. Sachant qu’il s’agit d’un fichier au format bzip2, enregistrons cela dans un fichier a.bzip2 par exemple. Une fois décompressé, voici ce que l’on obtient :

Notre page Web, vraiment

Notre page Web, arborant son plus beau code HTML.

A travers ce petit exemple nous avons donc vu quelques bases de l’analyse réseau, bien évidemment uniquement survolées pour la plupart. Cependant nous avons déja vu comment retrouver des informations dans une trace basique, et quelles étaient les informations à tirer de chaque protocole. La méthode utilisée pour analyser un paquet est généralisable à quasiment tout type de paquet, Wireshark les présentant de manière très claire.

Catégories:Réseau, Sécurité, Tutoriel Mots-clés :

Comment bien débuter avec la virtualisation

24 janvier 2011 3 commentaires

Comme je l’ai déjà dit, j’utilise souvent des VM (machines virtuelles) pour tester des distributions ou logiciels. Mais finalement tout le monde n’est pas forcément familier avec la virtualisation, ce que c’est et comment la pratiquer. Je ne rentrerai pas ici dans les détails techniques de la virtualisation que d’autres maîtrisent et expliqueront bien mieux que moi, je vais juste faire un survol rapide, afin que vous puissiez créer vous même vos premières machines virtuelles.

Définition

Commençons  par expliquer le concept de virtualisation (enfin plutôt de l’Hypervision de type 2, je vous renvoie sur l’article de Wikipedia pour une explication plus fournie). En fait il s’agit de faire fonctionner plusieurs systèmes d’exploitation simultanément sur une même machine, appelée machine hôte. Un logiciel de virtualisation va ainsi en quelque sorte émuler une machine physique pour permettre l’installation d’un système d’exploitation sur cette machine émulée, appelée machine virtuelle (VM).

Les machines virtuelles possèdent de nombreux intérêts et avantages, autant pour une utilisation personnelle que professionnelle. Je ne me placerais ici que du point de vue d’un utilisateur classique, utilisant la virtualisation sur son ordinateur personnel. L’un des gros avantages, n’est pas forcément visible. En effet, le matériel « émulé » par le logiciel de virtualisation est un matériel relativement standard, ce qui permet lors de l’installation de vos OS préférés de ne pas avoir de mauvaise surprise avec du matériel non reconnu. Ce point est particulièrement important puisqu’il vous permettra ainsi d’installer à peu près tout et n’importe quoi sur vos machines virtuelles.

L’avantage le plus visible est bien évidemment le fait que ces machines virtuelles sont dissociés de la machine hôte. J’entend par là que vous pouvez faire ce que vous voulez (ou à peu de choses prèt, des failles existent certainement) sur votre machine virtuelle, cela n’aura aucun impact sur votre hôte (autre que lui  bouffer toute sa RAM ou son CPU mais ce ne sont là que menus détails). Ceci vous permet ainsi, et c’est pour ca que je l’utilise personnellement, de tester plusieurs distributions linux, des logiciels… sans risque d’installer tout et n’importe quoi sur votre machine. Je citerais comme dernier avantage visible, la portabilité. En effet, les machines virtuelles ne sont vues par la machine hôte que comme de simples fichiers. De gros fichiers, certes, mais des fichiers tout de même. Cela va vous permettre de faire des copies régulières de vos machines virtuelles, vous évitant ainsi de faire 20 installations de Debian, alors qu’il suffirait de créer une VM avec Debian installée, et d’en faire une copie quand on en a besoin.

Logiciels de virtualisation

Je ne parlerais ici que des trois logiciels les plus couramment utilisés pour le type d’utilisation qui nous intéresse. Sur le marché de l’Hyperviseur de type 2 (oui, ca claque comme nom) trois concurrents sont en lices. Deux d’entre eux sont multi-plateforme, deux d’entre eux sont gratuits et ce ne sont pas les mêmes. (phrase inutile mais je l’aime bien alors je la laisse…)

Donc le premier que je vais présenter est un logiciel payant, j’ai nommé VMWare, édité par la société du même nom. L’outil est multi plateforme, Windows, Mac, Linux. Il se sépare en deux versions principales: VMWare player, et VMWare Workstation. Le player possède l’avantage d’être gratuit, cependant, il ne permet pas la création de machines virtuelles. L’outil Workstation est beaucoup plus complet puisqu’il permet de créer et modifier vos machines, mais il vous en coûtera une licence de 176,11€ (prix actuel). Il s’agit cependant pour moi de l’outil le plus abouti des trois, avec la possibilité de  facilement créer des clones de vos machines virtuelles, permettant de les dupliquer beaucoup plus rapidement, ou des « Team » de machines qui vous permette de facilement virtualiser un réseau de quelques machines.

Le second outil est l’outil de chez Microsoft, Virtual PC, actuellement en version 7. Gros point positif, la gratuité, ce qui est, il faut l’avouer, non négligeable. Il ne fonctionne bien évidemment que sous Windows, et comme bien souvent pour la firme de Redmond, la dernière version apporte son lot d’incompatibilités. Tout d’abord, comme à peu près tous les derniers logiciels de la firme, la dernière version n’est pas disponible pour Windows XP, qui rappelons-le détient encore 56,7% de part de marché (cf. ici). Donc si vous utilisez toujours votre bon vieux XP, il vous faudra vous tourner vers l’ancienne version, version 6, aussi nommée Virtual PC 2007, version qui ne gère pas l’association des périphériques USB. Ainsi vous ne pourrez pas simplement monter votre clef USB dans votre machine virtuelle, ni tout autre périphérique. Cependant une autre fonctionnalité est quand à elle présente dans la version 6, qui a été malheureusement supprimée dans la version 7. Je dis malheureusement parce que c’était ma foi une fonctionnalité fort utile, c’est à dire la possibilité de monter un dossier de sa machine hôte afin qu’il puisse être lisible par la machine virtuelle. J’ai pas mal utilisé cette fonctionnalité pour transférer rapidement et facilement des fichiers entre les deux machines, voire entre plusieurs machines virtuelles. J’ai été pas mal déçu de la suppression de cette fonctionnalité, que j’ai dû remplacer par la bonne vieille clé USB, qu’on transfère d’une machine virtuelle à l’autre. Les transferts sont donc sensiblement plus lents puisqu’un transfert USB est nécessaire. L’outil dans sa version 7 s’intègre très bien avec la version Windows du même nom, mais demandera un léger temps d’adaptation pour les aficionados de la v6.

Le troisième et dernier outil de ma (courte) liste est Virtualbox. Il possède l’immense avantage d’être à la fois multi plateformes et gratuit (et Open Source, que demander de plus ?). Il est également (comme ses deux collègues) fort facile de prise en main, à condition de savoir ce qu’on veut faire. Pas grand chose à dire dessus, à part qu’il était développé par Sun, et a donc été racheté par Oracle, mais on peut fortement se passer de cette information. Il ne dispose pas de l’outil de clonage proposé par VMWare, ainsi pour effectuer une copie de votre VM, il faudra effectuer une copie du disque dur de celle-ci, et recréer une VM utilisant ce disque. Il dispose cependant (comme ses deux confrères) de la possibilité d’effectuer des instantanés, permettant de revenir à un état antérieur de la machine. Utile si vous testez des logiciels, sans vouloir pour autant les garder, ou pour récupérer rapidement d’un plantage. Etant l’outil le plus universel, c’est celui-ci dont je vais vous présenter plus longuement l’utilisation par la suite.

Création de machines virtuelles

Alors la suite pré suppose que vous avez Virtualbox installé et fonctionnel sur votre OS préféré. Vu la multiplicité de ceux-ci je ne détaillerais pas l’installation. La première étape sera de télécharger l’image d’installation de votre OS préféré. Je vais personnellement utiliser la version Debian de Linux Mint, parce que… voila. Ensuite, il vous faudra un peu de place sur votre disque dur parce que ca prend de la place ce genre de choses (minimum 2Go). Première étape, lancement de Virtualbox. Un petit clic sur le gros bouton « Nouvelle » va vous lancer l’assistant de création de nouvelle machine virtuelle.

Choix de l’OS

La première étape vous permettra de sélectionner le type d’OS que vous souhaitez utiliser. Cela va permettre d’optimiser le matériel émulé pour l’OS installé. Dans mon cas je choisis « Linux » et « Debian ». Un joli nom pour retrouver votre VM dans tout votre disque, « Linux Mint » pour moi, je suis dans l’originalité ce soir. La seconde étape vous permet de choisir la quantité de mémoire vive que vous allez consacrer à la VM. ayant personnellement 2Go de RAM sur ma machine hôte,  j’en consacre généralement 512Mo pour la VM. Cela permet de faire tourner sans problème la VM sans trop ralentir ma machine. Ensuite, vous aurez le choix entre utiliser un disque dur virtuel pré-existant ou d’en créer un nouveau. Partant du principe qu’il s’agit de votre première VM, nous allons en créer un nouveau. Un second assistant se lance alors pour la création du disque dur.

Choix du type de disque

Le premier choix que vous aurez à faire, sera de définir le type du disque.

  • Image de taille variable : la taille du disque s’adapte à ce que contient votre VM, dans une limite définie. Cela permet de prendre moins de place sur le disque, mais peut ralentir la VM quand le disque dur s’agrandit. A noter que le disque dur ne pet que grandir, il ne rétrécit pas.
  • Image de taille fixe : le disque est créé à sa taille définitive, ce qui rend la machine plus rapide lors de l’écriture de fichiers (et notament lors de l’installation)

Ayant une taille disque plutôt limitée et me souciant peu de la rapidité de mes VM, je vais choisir « Taille variable ».

Emplacement et taille du disque

Vous choisissez ensuite l’emplacement du disque dur, ainsi que sa taille. 8Gio sont recommandés, c’est bien souvent plus que nécessaire, mais là tout dépend de ce que vous voulez faire sur votre VM. Utilisant un disque à taille variable, c’est bien souvent la taille que je renseigne, n’en utilisant généralement pas plus du tiers. Et voila, après deux récapitulatifs, votre VM est créée.

Premier aperçu de la VM

Cependant, un peu de configuration va être nécessaire, dans l’onglet stockage, il va vous falloir définir le disque d’installation de l’OS. Un clic sur l’icône en forme de DVD sur la droite, « Choose a virtual… » et choisir votre ISO, ce qui devrait vous donner quelque chose comme ça :Iso de Mint sélectionnéeVous pouvez alors valider, et lancer votre machine fraîchement créée. Une pop up apparaît alors pour vous signaler que la « touche hôte » est la touche « Ctrl droite « . Kesako ? Tout simplement, quand vous utilisez votre machine virtuelle, vous êtes dedans, et toutes les frappes claviers que vous faites sont interprétées par la machine virtuelle. Il faut donc définir un moyen pour sortir de celle-ci et retourner à votre hôte. Une pression sur la touche « Ctrl droite » vous permettra donc de sortir de votre VM.

Et voila, la machine est lancée

L’installation de l’OS en lui-même est en tous points semblable à ce qu’il aurait été sur une machine standard, je n’en détaillerais donc pas la procédure. Par défaut votre machine virtuelle utilisera votre interface réseau pour se connecter à internet, vous ne verrez alors pas de différence avec une machine physique ( à part la vitesse bien sûr). Cependant, après installation, vous remarquez que vous ne pouvez pas lancer votre VM avec une résolution meilleure que 800*600, et là, c’est le drame (à part si vous faites un serveur, ou juste un test rapide).

Une résolution d’un autre âge

Mais tout cela vient simplement de la complexité d’émuler facilement une carte graphique (qui soit reconnaissable par tous les OS). Il vous faudra alors installer les composants additionnels (« Addons invités » dans le menu « Machine »). Ceux-ci permettront une meilleure intégration de votre VM avec également une meilleure gestion de la souris, la possibilité de partager des dossiers, et le partage du presse-papier. Que du bon donc. Selon les OS cependant, il faudra mettre un peu les mains dans le cambouis (enfin juste légèrement, sauf cas vraiment exotiques, mais si vous les utilisez, ce n’est pas cela qui vous fera peur), mais la plupart du temps ça passera tout seul, avec un simple lancement automatique après le lancement de « Périphériques » puis « Installer les additions invités ». Après ca, à vous les joies de tester votre nouvel OS en fullscreen.

En conclusion, je ne saurais que conseiller vivement l’utilisation de machines virtuelles, leur utilisation est vraiment simple, et elles possèdent le gros avantage d’être sécurisées.  La puissance nécessaire est tout de même relativement importante si vous voulez un résultat fluide, sans trop affecter votre système. A venir prochainement un test de la Mint que j’ai installé ici, qui me semble plutôt pas mal après quelques minutes d’utilisation.

Catégories:Tutoriel Mots-clés : ,

Tiny Tiny RSS pour vous affranchir de Google Reader

19 janvier 2011 2 commentaires

Dans la lignée de mon dernier article (plus de 3 mois quand même que je l’ai écris, ça commence à dater), je vais de nouveau vous parler de flux RSS. D’agrégateur de flux RSS plus particulièrement. J’utilise personnellement Google Reader depuis quelques temps déjà, depuis le 30 septembre 2009 pour être exact (non, je n’ai pas retenu la date, c’est Google Reader qui me le dit). Cependant, niveau vie privée, Google il y a mieux tout de même. Je vais donc vous présenter un petit projet open-source pour avoir votre propre service online d’agrégation, j’ai nommé Tiny Tiny RSS.

Alors certes, vous pourriez utiliser un agrégateur « desktop », soit une simple application installée sur votre poste, mais avec ce genre de logiciel, vous ne pouvez pas gérer facilement la synchronisation entre différents postes, vous ne pouvez consultez vos flux que chez vous… Ce qui est tout de même une contrainte forte quand de plus en plus de monde possède un appareil mobile, que ce soit un smartphone, une tablette ou tout simplement un pc portable en complément de leur pc fixe. Il me semble donc quasi obligatoire de posséder un agrégateur que vous puissiez consulter de n’importe où, d’où mon utilisation de Google Reader.

Donc le gros avantage de Tiny Tiny RSS est d’être une application installée sur un serveur, et donc consultable depuis n’importe où. C’est également (malheureusement) son plus gros défaut, c’est à dire qu’il vous faudra avoir votre serveur web pour l’utiliser, raison pour laquelle je ne l’utilise pas encore, cependant l’outil me paraît fort intéressant.

J’ai voulu tester l’outil, je l’ai donc installé sur un VM Debian (sous VMWare Workstation). J’ai tout simplement suivi le tutoriel de Saint Carre, très clair et très précis.
Tout d’abord, de quoi avez-vous besoin ?

  • D’un serveur Web. J’utilise apache2, plus par habitude qu’autre chose, et parce qu’il fonctionne très bien pour ce que je veux faire, sans aucune configuration particulière, sachant que je n’ai jamais installé de serveur ailleurs que sur une VM.
  • D’une base de données. Celle-ci va servir à stocker vos flux et les articles lus/non lus.  Tiny Tiny RSS fonctionne avec PostGreSQL ou MySQL. Ils recommandent l’utilisation de PostGreSQL pour des raisons de rapidité, cependant je suis plus familier de l’utilisation de MySQL, et de plus il était déjà installé sur ma VM (et pour mes tests je n’avais pas particulièrement besoin d’une rapidité de folie).
  • De PHPTiny Tiny RSS est basé sur PHP, il vous faudra donc l’installer sur votre serveur. Pour un bon fonctionnement, PHP5 est requis. L’application devrait fonctionner sous PHP4, avec quelques restrictions.

Une fois ces éléments installés (un très bon tutoriel peut être trouvé ici) nous allons pouvoir commencer l’installation du logiciel en lui même. Nous allons partir du principe que vous êtes sur un serveur, donc pas d’interface graphique.

La première étape est bien évidemment de récupérer la dernière version de  Tiny Tiny RSS, et de la décompresser.

wget http://tt-rss.org/download/tt-rss-1.5.0.tar.gz

tar xzfp tt-rss-1.5.0.tar.gz

Il va ensuite falloir déplacer le dossier afin qu’il puisse être lu par apache, et donc être accessible en ligne.

mv tt-rss-1.5.0 /var/www/tt-rss

Bien évidemment, j’en profite pour changer le nom, histoire de supprimer le numéro de version.

Il va ensuite être nécessaire de configurer la base de données, MySQL dans notre cas. Nous allons donc créer une base qui contiendra  nos différents flux, ainsi qu’un utilisateur pour se connecter à cette base (ayant des droits plus restreints que l’utilisateur root).

mysql -u root -p     //permet de se connecter à mysql avec le compte root, le mot de passe demandé sera celui fourni lors de l’installation de mysql-server

create database ttrss;     // crée la base de donnée proprement dite

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON ttrss.* TO ‘ttrssuser’@’localhost’ IDENTIFIED BY ‘password';     // crée un utilisateur (ttrssuser) avec pour mot de passe password possédant les droits nécessaires sur la base ttrss

use ttrss;      // se place dans la base nouvellement créée

source /var/www/tt-rss/schema/ttrss_schema_mysql.sql      // crée les différentes tables de la base nécessaires au bon fonctionnement de Tiny Tiny RSS

Après avoir fait cette étape, il va falloir modifier le fichier PHP qui effectue la connection de l’application avec la base de données, et le renommer par la même occasion.

cd /var/www/tt-rss

mv config.php-dist config.php

Les modifications à apporter se trouvent au tout début du fichier :

define(‘DB_USER’, « ttrssuser »);
define(‘DB_NAME’, « ttrss »);
define(‘DB_PASS’, « password »);

Ne reste plus qu’à permettre aux flux à être mis à jour. Pour cela nous allons lancer une commande régulièrement . Ainsi dans le fichier /etc/crontab nous allons rajouter la ligne :

0 * * * * $HOME/script/ttrss.sh >> $HOME/script/ttrss.log

qui permet un lancement toutes les heures du script ttrss.sh (un lancement plus régulier peut être préféré). Dans ce script nous allons mettre :

#!/bin/bash

wget –quiet –output-document=/dev/null « http:///tt-rss/backend.php?op=globalUpdateFeeds&daemon=1″

Ne pas oublier de rendre ce script exécutable, et le tour est joué.

Et voila Tiny Tiny RSS devrait être fonctionnel. Cependant, vous remarquerez qu’une fois rentrée l’URL dans votre navigateur (http:///tt-rss) vous serez directement dirigé vers la page d’affichage des flux, sans aucun besoin de fournir de quelconques identifiants/mots de passe. Autant cette fonctionnalité est pratique en cas d’utilisation purement locale, autant ca peut être fort dérangeant si vous envisagez de mettre le service en ligne (oui car je rappelle que l’intérêt est tout de même que vous puissiez acceder à vos flux de partout). Nous allons donc rectifier ca pour que l’on doive s’identifier avant d’accèder à ses flux, ce qui permet également de rajouter des utilisateurs, si vous voulez faire profiter du service à vos amis ou votre famille (ou autre si vous êtes généreux et avez un serveur qui supportera la charge).

C’est toujours dans le fichier config.php qu’il va falloir faire la modification (ligne 31 du fichier normalement).

define(‘SINGLE_USER_MODE’, false);

Par défaut, cette valeur est à true, il suffit de la passer à false, et vous aurez cette magnifique fenêtre demandant de vous identifier.

La page de login

Le compte créé par défaut est admin, avec le mot de passe password. Pour des raisons évidentes de sécurité nous allons modifier le mot de passe immédiatement et créer un nouvel utilisateur.

Donc une fois connecté avec ce compte, aller dans la partie « Configuration » et à l’onglet « Utilisateurs ». Sélectionner l’utilisateur « admin » et modifier son mot de passe. A noter qu’une fois votre mot de passe modifié, vous serez automatiquement déloggué, il vous faudra revenir à l’accueil pour vous identifier.

Vous pouvez également créer un nouvel utilisateur dans cette partie « Configuration ». En ce qui concerne la gestion des utilisateurs, vous pouvez soit les créer/supprimer vous même, ou vous pouvez autoriser les utilisateurs à se créer leur propre compte (une petite modification dans le config.php et le tour est joué), la première méthode étant à privilégier si vous ne souhaitez pas que tout le monde puisse s’inscrire, bien qu’il soit possible de limiter le nombre maximum d’utilisateurs.

De nombreux éléments sont modifiables via ce fichier, les lister ici serait trop long,  mais vous pouvez par exemple changer le nombre de flux updatés simultanément (10 par défaut, ce qui est très peu et nécessite de nombreuses mises à jour pour que tous mes flux soit gérés, il est donc recommandé de l’augmenter).

Ensuite, parlons de l’utilisation en elle même. Pour le test, je vais utiliser le fichier opml de mes flux, soit 414 flux. L’import se fait sans aucun problème, si vous utilisez des catégories, l’option permettant de les utiliser est décochée par défaut, donc pensez bien à l’activer (toujours dans les préférences, trouvable très facilement). Après mise à jour des flux, vous vous retrouverez avec une interface qui ressemble à ca :

L'interface du logiciel

L’interface est donc celle d’un agrégateur standard, avec 3 panneaux distincts, à gauche la liste des flux, en haut la liste des articles, et en bas l’article en lui-même. Les habitués de Google Reader ne seront pas surpris.

Un outil intéressant est la détection des tags mis sur les articles. Ainsi il vous est possible d’utiliser un nuage de tags qui permet de trier vos articles. Très pratique quand vous avez beaucoup d’articles non lus et pas le temps de tout lire, ou quand vous voulez retrouver un article. Il est également possible d’ajouter vos propres tags aux articles.

Autre fonctionnalité intéressante, qui manque beaucoup à Google Reader, la gestion des filtres et des étiquettes. Ce sont surtout les filtres qui sont intéressants puisqu’il permettent de réunir automatiquement tous les articles parlants d’un sujet précis. Google Reader a remplacé ça par la possibilité de faire des recherches sur des flux, moins pratique à mon sens si on a plusieurs centres d’intérêts différents, on est obligé de retaper ses recherches à chaque fois.

A noter également que de nombreux raccourcis claviers sont disponibles, pour passer d’un flux à un autre, ou d’un article à un autre. La prise en main est assez rapide, seul point négatif, le raccourci pour scroller à l’intérieur de l’article est shift + n (ou p), ce qui n’est pas forcément très pratique, mais comme je scrolle à la « molette » du touchpad je ne me sers pas de ces raccourcis.

En conclusion,  Tiny Tiny RSS est une alternative très satisfaisante à Google Reader, dont l’un des seuls points négatifs est la nécessité de posséder un serveur. Il s’agit cependant de la meilleure alternative pour s’assurer de la confidentialité des flux que vous parcourez, de plus vous pouvez facilement gérer plusieurs utilisateurs sur le même serveur, la charge réseau n’étant pas forcément très importante (non mesurée cependant). L’autre gros avantage c’est la paramétrabilité qui est assez grande, un nombre d’options assez conséquente, et comme il s’agit d’un projet open source, s’il vous manque une fonctionnalité, vous pouvez toujours l’ajouter (si vous avez le temps et les connaissances nécessaires, cela va sans dire). Un outil très sympathique donc, que je m’empresserais d’installer dès que j’aurais la possibilité d’avoir un serveur.

 

PS : le fichier opml de mes flux a été mise à jour avec pas mal de nouveaux flux et retriés pour être mieux organisés

Catégories:Test, Tutoriel Mots-clés : , ,

Créer des flux RSS grâce à Feed43

13 octobre 2010 1 commentaire

Récemment je me suis vu confronté à un nouveau problème : je cherchais des tests de boitiers PC, je vais donc sur le site revioo.com, et je vais donc voir l’actualité du monde des boitiers. Quelle ne fut pas ma stupeur (on croirait presque qu’il y a de l’action la…) de me rendre compte qu’il n’y avait pas de flux RSS spécifique à cette catégorie (bon c’est généralisable à toutes les catégories en fait, pas de racisme envers les boitiers).

J’ai donc cherché un moyen de créer un flux RSS à partir d’une page web, et voici ce que j’ai trouvé : Feed43.

Comme il n’est pas forcément très simple d’utilisation pour tout le monde, je me propose de vous faire un petit tutorial à l’aide de mon exmple précis, qui ne fonctionnera donc pas pour tout le monde, mais qui donne tout de même une idée sur la façon de faire.

Donc après avoir accepté les « terms of service » (que je n’ai pas lu, honte à moi), il vous invite cordialement (enfin aussi cordialement qu’une textbox puisse l’être) de lui fournir l’URL et l’encodage de la page.

Le code source de la page

Un clic sur le bouton « Reload » permettra l’affichage du code source de la page. C’est sur ce code source que se basera le plus gros du travail, en effet il est nécessaire de spécifier quels sont les éléments de la page qui sont intéressants et seront utilisés dans le flux RSS, typiquement le titre de la news, son URL (of course) et le résumé de la description. Info sommes toutes relativement basiques, si vous voulez l’article complet dans le flux ce n’est pas la solution qu’il vous faut, mais avouons-le pour des tests de boitiers ce n’est pas vraiment pertinent, donc je m’en contenterais.

Le choix des règles à utiliser

Donc c’est maintenant que les choses se compliquent un peu (bon pas trop quand même). Un minimum de connaissances en HTML seront nécessaires pour cette étape.

La première zone de texte permet de définir quelle sera la zone qui sera traitée par le second filtre. Il faudra donc repérer dans le code source où sont les éléments importants. Si cette zone n’est pas définie, la recherche se fera sur toute la page. La seconde quant à elle permet de définir les différents éléments constituant la news en elle même. La chaine {%} permet de définir un élément qui sera traité, {*} un élément qui sera ignoré.

Dans mon cas, voici le bout de code intéressant :

<ul class=“title_newshome”>
<li><h1><a href=“%lien_vers_la_news%” title=“%titre_de_la_news%” >
%titre_de_la_news%</a></h1>
<p><span>%date_de_la_news%</span> | %description_de_la_news%</p></li>
<li><a href=“http://www.revioo.com/news/” title=“Lire la suite de l’actualité informatique et multimédia”>[ Suite des news ... ]</a></li>
</ul>

Pour simplifier, je définis ma zone d’étude par :

<ul class=“title_newshome”>{%}</ul>

(en vérifiant bien évidemment à l’avance que la zone voulue est la seule zone de ce type, sinon on devra être plus restrictif)

Les news en elles-même seront définies comme suit :

<h1><a href= »{%} » title= »{%} » >
{*}</a></h1>{*}<p><span>{%}</span> | {%}</p>

Un petit clic sur le bouton « Extract » permet de vérifier que les informations retenues sont effectivement celles que l’on souhaitaient.

Visualisation des éléments constituants le flux

On voit alors que les différents éléments sont repérés chacun par un numéro qui sera utilisé dans la dernière étape, la création du flux en lui-même. Il faut en effet lui spécifier quel élément sera utilisé comme titre, lien…

Définition du flux

Il est donc possible de vraiment parsonnaliser son flux, ce que je n’ai pas souhaité faire, préférant m’en tenir au plus simple sans aucune fioriture.

Encore une fois un bouton de prévisualisation est présent, pour vérifier qu’on obtient bien ce qu’on veut. Une URL est alors fournie pour ajouter ce flux à son lecteur préféré, ainsi qu’une URL permettant de modifier le flux, ce qui permet de le mettre à jour en cas de changement du site rssisé (ouh qu’il est laid ce néologisme) ou alors si à l’usage vous vous appercevez que quelques améliorations sont à apporter.

Finalement pour peu qu’on ait un minimum de connaissances en HTML, cette solution est assez facile à utiliser, et elle présente le gros avantage d’être extrèmement puissante, on peut vraiment traiter à peu près n’importe quel site. La plus grande difficulté étant parfois de « parser » le site, si celui-ci a été codé de manière… on va dire peu inuitive. Il est même possible que je m’en serve pour certains site auxquels je suis abonné et dont le flux ne me convient pas (article pas complet, pas d’affichage de l’image).

Catégories:astuces, Tutoriel Mots-clés :

Test Ubuntu 10.10

4 octobre 2010 2 commentaires

Bon un petit test rapide, comme tout le monde en parle et que bon je suis quand même actuellement utilisateur de la distribution, j’ai testé la dernière version d’Ubuntu, soit la 10.10 (en RC actuellement, la version définitive est censée sortir le 10/10/10)  aussi nommée Maverick Meerkat.

Bon autant le dire tout de suite, ce n’est pas cette version qui va me réconcilier avec la distribution.

Tout d’abord une chose que je n’aime pas c’est le fait qu’il y ait déjà tout un tas d’applications pré installées, je suis d’accord sur le fait que pour une distribution qui se veut grand publique ils est bien évidemment nécessaire d’avoir quelques applications de base. C’est par exemple le cas pour un navigateur Web (Firefox dans le cas présent), un lecteur de musique (Rhythmbox)  et un lecteur vidéo (Totem) entre autres. Mais je doute sérieusement de l’utilité d’installer de base un logiciel de montage vidéo (même très basique comme Pitivi ici présent, ou d’un logiciel de micro-blogging (Gwibber).

Et je ne dis pas particulièrement ca parce que je suis un adepte de l’OS minimaliste, mais je doute que le grand publique ait impérativement besoin d’un outil comme Gwibber, et s’il en a besoin il me semble que dans ce cas il est dans la capacité de l’installer par lui-même. N’oublions pas que la plupart des utilisateurs des réseaux sociaux gérés par cette application (Facebook mis à part) sont pour la plupart des gens ayant tout à fait la capacité de faire une opération aussi simple que l’installer par eux même. Et pour ce qui est des utilisateurs de Facebook, la plupart des gens préféreront tout de même aller sur l’interface web du site…

Ensuite en ce qui concerne les choix concernant les applications présentes, c’est un choix somme toute très subjectif donc je ne m’étendrais pas dessus, ce ne sont pas forcément ceux que j’utilise mais pourquoi pas…

Mais bon ce qui me gène plus c’est qu’avec tout ce qui est installé de base, on se retrouve avec une distrib qui occupe 2,5Go d’espace disque après juste installation et mise à jour, et qui rame tout de même très fortement avec 512Mo de RAM ce qui je l’accorde est peu mais quand il met 7 secondes pour ouvrir le « À propos d’Ubuntu » je trouve ça quand même très limite. Et 15 secondes pour un firefox c’est vraiment trop, même chose pour le lancement d’Open Office…

Ok Ubuntu n’est pas une distribution ayant un objectif de légèreté mais je pense que si elle veut se répendre au grand publique une petite cure d’amaigrissement ne serais pas de refus, parce qu’on dira quoi à une madame Michu à qui on aura installé une Ubuntu pour sa simplicité parce qu’elle trouvait que son PC avec XP ramait trop ? Certains diront qu’on a qu’à lui installer autre chose qu’une Ubuntu à Mme Michu mais bon il ne faut pas oublier que Ubuntu c’est quand même très facile d’utilisation et qu’il y a quelques bonnes idées qui ne doivent pas être occultées comme la logithèque qui est plutôt bien pensée pour les gens qui n’ont pas forcément envie de passer par une interface de type Synaptic qui peut paraître en effet peu évidente pour les nouveaux arrivants.

Tout ca pour dire que Ubuntu, j’en suis de plus en plus décu mais c’est peut être aussi parce que mes connaissances Linuxiennes sont suffisantes pour utiliser une distribution de type Debian, et qu’il est plus facile au final de compléter une Debian que d’alléger une Ubuntu. Mais bon c’est tout de même une bonne distribution pour tout ceux qui ne veulent pas se prendre la tête à installer et configurer leur Linux ou qui découvrent.

Catégories:Linux, Test Mots-clés : , ,

PDF vs Word

2 août 2010 1 commentaire

Récemment on m’a demandé de fournir divers documents (CV et lettre de motivation) au format Word (ou rtf dans de rares cas) et donc étant donné la nature des documents vous devez vous douter que c’est des (grandes) entreprises qui m’ont fait ces demandes. Ceci m’a tout de même relativement surpris puisque je pensais que le format PDF était tout de même un format devenu tout ce qu’il y a de plus commun.

C’est également le même phénomène que pour la mise en ligne de son CV, sur monster par exemple on ne peut mettre son CV qu’au format .doc ou .rtf.

Les entreprises ne seraient-elles donc pas d’accord avec moi sur le fait qu’un bon PDF fasse tout de même plus propre et plus sérieux pour des documents officiels ? Et puis finalement tout le monde a sur son PC de quoi lire les PDF non ?

Et j’ai été d’autant plus embêté avec ça c’est que mon CV était fait en latex, du coup c’était un magnifique PDF (oui je sais je me lance un peu de fleurs mais ça fait jamais de mal)  et du coup j’ai été un peu embêté pour le mettre en ligne, parce que en effet y’a toujours la possibilité de faire un copier coller du texte mais bon, ça serait dire adieu à la mise en page, qui est tout de même l’un des éléments les plus importants d’un CV vous en conviendrez.

Du coup j’ai trouvé ce magnifique site : PDFtoWord. Il vous permet de lui fournit un fichier au format PDF et il se charge de le convertir en Word ou en RTF selon vos désirs et vous renvoie le résultat par mail.

On me glisse dans l’oreillette que les PDF c’est pas sûr, failles de sécurité tout ça tout ça, mais moi je me demande si c’est vraiment la raison derrière tout ça, et si c’est une raison suffisante… (un pare feu open office et on en parle plus de tout ça…)

Catégories:astuces

Main Square Festival

19 juillet 2010 7 commentaires

Oui je sais, ça date un peu (plus de 10 jours… je sais je suis très lent) mais le premier week end de juillet je m’étais fait plaisir en allant au Main Square Festival, qui se tenait à la citadelle d’Arras. En ce dimanche 4 juillet j’avais donc fait la route (enfin… on va dire que j’ai non copiloté mon très cher chauffeur) qui me menait de … (non je ne dirais pas où j’habite..) à Arras.

Première impression : chaleur… grande chaleur, il va falloir profiter de l’ombre au maximum, et du monde aussi, beaucoup de monde beaucoup de T-Shirts Rammstein alors que ce ne sont pas la seule grosse tête d’affiche de cette journée.

Alors ce qu’il faut savoir c’est que le festival se répartit sur 2 scènes, une grande scène pour acceuillir les nombreuses têtes d’affiche et une plus petites pour découvrir des groupes moins connus.

C’est sur cette seconde scène que c’est commencé pour nous le Main Square, aux alentours de 14h avec le show du groupe Lillois Skip the Use, que nous ne connaissions nullement auparavant et qui nous a bluffé par l’énergie qu’il insuffle. Le groupe est content de jouer presque à domicile et ça se sent, il donne tout ce qu’il a et c’est le public qui en profite, ça chauffe bien pour le reste de la journée, et je sens que je vais me renseigner de plus prèt sur ce groupe qui a pas mal de potentiel.

Après ça nous avons voulu aller écouter Yeasayer sur la grande scène… pas convaincu… enfin plutôt pas du tout notre style, du coup nous en avons profité pour aller acheter un magnifique T-Shirt Rammstein (environ 45min de queue pour l’avoir… il faut le vouloir quand même), et pendant la file d’attente j’ai été étonné du nombre qu’il s’ne vendait. Peu de T-Shirts P!nk, Gossip vendus, quasi exclusivement du Rammstein. Au moins avec ça on sait pour quoi les gens sont venus.Le T-Shirt en question

Bon après un petit temps de repos pendant lequel est passé un autre groupe qui ne nous tentait pas beaucoup, c’est au tour de Stereophonics, et malheureusement pour eux suite à un problème technique ils n’ont pas été dans la capacité de se produire devant nous, nous auront juste eu le droit à 4 chansons accompagnées à la guitare sèche. Dommage.

Un autre moment de repos avant que les choses sérieuses ne commencent avec Gossip, dont j’avais entendu pas mal de bien quant à leurs prestations scéniques et je dois dire que j’ai été relativement déçu, peut-être que j’ai mis la barre trop haute par rapport à ce qu’on m’avait dit, peut-être aussi parce que je n’ai pas réellement accroché à leur musique… Mais il faut avouer que la chanteuse bouge beaucoup, elle se donne pas mal, mais le rot laché au milieu de I Will Always Love You … no comment…

Ensuite de ça P!nk… Ça c’est du show à l’américaine comme on l’aime. Une arrivée en sautant d’un cube à 30m du sol, de la bonne guitare qui fait du bien aux oreilles, c’est tout ce que j’en demandais. Une scène représentant un cirque indiquait bien ce qu’on allait avoir, pas mal de chansons de son dernier album, menées avec beaucoup d’énergie. Je n’ai malheureusement pas pu retrouver la tracklist et ma mémoire me fait trop défaut pour vous la citer cependant nous aurons également le droit de la voir se déplacer au dessus de public dans une bulle et à un départ suspendue par 4 cordes au dessus du public à chanter dans tous les sens.

Et enfin après tout ça, last but not least comme diraient nos amis anglo saxons, Rammstein ! Vous aurez sans doute deviné que c’est surtout pour eux que j’aurais fait le déplacement, et bien franchement, c’était du lourd, du très lourd même. Du show pyrotechnique qui réchauffe malgré la fraicheur de la nuit Arrageoise. Du bon son qui débouche bien les oreilles. Du Flake (clavieriste) dans toute sa splendeur, marchant (?!!) devant ses claviers pendant la quasi intégralité du temps du concert, et se faisant enflammer par Till le reste du temps. Il nous gratifiera également d’un petit passage en bateau sur le public pendant Haifisch. Mais le plus impressionnant dans tout ça restera l’entrée en matière avec un gigantesque drapeau germanique faisant la taille de la scène sur un magnifique Rammlied pour nous mettre dans le bain. Un seul tout petit regret, ne pas avoir pu profiter de Mein Teil en live, mais on ne peut pas tout avoir, j’en ai déjà eu plein les yeux et les oreilles avec ce qu’ils nous ont fourni.

Catégories:about me, IRL Mots-clés : , ,
Suivre

Recevez les nouvelles publications par mail.