Archive

Archive for janvier 2011

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.

Publicités
Catégories :Tutoriel Étiquettes : ,

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 Étiquettes : , ,