ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

Planet Ubuntu-fr - Autre

Fil des billets

vendredi, juillet 6 2007

Gravatar de adminWebrick : un petit serveur http tres simple en ruby via Administrateur

J’ai toujours aimé programmer et j’aime toujours programmer… En ce moment je suis dans une phase de programmation en ruby. Ce langage est vraiment sympa, de plus un ensemble de scripts (framework) basé sur ce langage est vraiment à la mode en ce moment pour les applications web : Ruby On rails . Cependant je ne vais pas parler ici de ruby on rails mais plutôt monter comment se créer un petit serveur WEB à soi sans grande configuration comme le nécessite Apache. Bien sur l’utilisation ne sera pas la même et ne supportera pas une trop grande charge. A noter que Webrick fait partie intégrante de rub On rails pour tester une application WEB.

Sur Linux, il existe une librairie en Ruby toute prête pour faire un serveur HTTP : webrick

Webrick est donc une librairie ruby pour programmer des serveurs HTTP (serveurs web). C’est très simple d’installation , il faut les paquets suivants :

  • Ruby : le langage lui-lême
  • libwebrick-ruby : La librairie

Les sites sur lequels j’ai trouve l’information sont les suivants :

Je passe sur l’installation rapidement, sur ubuntu vous utilisez synaptic ou bien la ligne de commande : sudo apt-get install ruby libwebrick-ruby

Et maintenant ca se passe comment ? Très simple, il suffit d’écrire un petit fichier texte. Bien sur , il va sans dire qu’il faut connaitre un peu le ruby, le html et des connaissances en programmation.

Voici un premier exemple de serveur web dans le fichier : mon_serveur.rb



#!/usr/bin/ruby
require ‘webrick’
include WEBrick

class AccueilServlet < HTTPServlet::AbstractServlet
def do_GET(req, res)
res.body = “<html><body>Bonjour David !</body></html>”
res[’Content-Type’] = “text/html”
end
end

# ———————————————–
# Demarrage et configuration du serveur
# ———————————————–
s = HTTPServer.new( :Port => 2000 )
s.mount(”/”, AccueilServlet)
trap(”INT”){ s.shutdown }
s.start

Explication :

  • En rouge : Indication du langage et inclusion de la librarie webrick
  • En bleu : La page d’accueil
  • En orange : le démarrage du serveur

Pour démarrer le serveur , tout d’abord il faut autoriser l’exécution du fichier avec la commande : chmod u+x mon_serveur.rb et ensuite lancer le script : ./mon_serveur.rb. A ce moment, des messages apparaissent indiquant que le serveur s’est bien lancé :

[2007-07-05 22:46:06] INFO WEBrick 1.3.1
[2007-07-05 22:46:06] INFO ruby 1.8.5 (2006-08-25) [i486-linux]
[2007-07-05 22:46:11] INFO WEBrick::HTTPServer#start: pid=4755 port=2000

Le port du serveur à utiliser est 2000 (ceci a été configuré sur la première ligne en orange). Donc maintenant pour avoir la page web, il suffit de lancer votre navigateur et de pointer sur : http://localhost:2000 . Et à ce moment Bonjour David! Apparait. Et voilà c’est simple non ?

Informations :

1.) Si par exemple maintenant, on veut pointer vers une adresse du type : http://localhost:2000/rebonjour , comment faut-il faire ? En fait ici c’est là définition d’une nouvelle page. Ceci se fait avec la commande mount de la même manière que /. On ecrira donc :

s.mount(”/rebonjour”,RebonjourServlet)

Et dans RebonjourServelet on écrira la page ou on fera appel à un fichier HTML pur par exemple.

2.) Comment faire pour récupérer des informations de formulaires ? Très simple aussi. Imaginons un formulaire avec le champ suivant : texte1. Celui ci est défini avec la formule html : input type=”text” name=”text1″. Pour récupérer sa valeur après la soumission du formulaire, il suffit de définir une variable per exemple : montexte1 = req.query[’text1′]

Par exemple :

class Texte1Servlet < HTTPServlet::AbstractServlet
def do_POST(req, res)
if req.query[’texte1′] == ’salut’
message = ‘coucou’
else
message = ‘bonjour’
end
res.body = message
res[’Content-Type’] = “text/html”
end
end

Voilà une autre vue de serveur WEB en un autre langage que le commun et populaire PHP. Il y a aussi le langage python et karrigell que j’avais détaillé aussi il y a quelques temps. C’est sympa de découvrir d’autres possibilités que apache + php….

jeudi, juin 21 2007

Gravatar de adminLogiciels libres et Ubuntu sur LCI via Administrateur

L’émission grand écran de LCI du 15 juin dernier fut consacré au logiciels libres (Ubuntu, Firefox, OpenOffice). En la regardant, je ne pouvais pas m’empêcher de faire un petit mot la-dessus.

Pour ceux qui ne connaissent pas les logiciels libres, je pense que c’est pas mal pour savoir ce qui existe en dehors des logiciels commerciaux imposés habituels.

Sur ce film on y découvre l’installation et l’utilisation basique d’Ubuntu. Sympa. Une petite note m’a fait sourire, le présenteur indique q’un certain Guillaume a joué les cobayes pour installer Linux ….. :-) . Cobayes, quand même pas, de plus plus loin il est re-signalé que les députés de l’assemblée nationale vont utiliser Linux. OK, ils ne l’installent pas , la différence est là… . L’installation du programme VLC (lecteur vidéo) pose problème à notre cobaye apparemment. Ce logiciel est disponible dans les logiciels installables directement par Ubuntu. Je pense que le choix de VLC n’est pas forcement bon et que le présentateur voulait juste un petit peu montrer qu’il faut mettre (de temps en temps, voir rarement pour une utilisation basique deu bureau) les mains dans le cambouis. Mais ca c’est partout pareil …..

Mis a part ca des bons points pour Linux et Ubuntu que j’ai noté :

  • Ubuntu n’a pas à rougir face à Vista.
  • Bureau tout propre
  • Tout est intuitif
  • Manque de rien pour le grand public
  • DELL propose Ubuntu sur ses PC (aux US pour l’instant)
  • L’assemblée nationale Suisse va faire comme les députés Francais : adopter Linux pour leur PC.

Par contre , le monsieur consultant en technologie de l’innovation n’est a mon pas vraiment convaincu par les logiciels libres (jeux sur linux (bon d’accord…), aspect communautaire…) et dès qu’il peut casser en mettre une couche, il le fait, enfin c’est mon impression….
Je suis quand même content d’avoir vu cette emission (il n’y en a pas beaucoup) c’est peut-etre basique pour les habitues et les geeks, mais c’est vraiment interessant pour les non-familiers au logiciel libres.

Voici la vidéo :

Partie 2 : présentation Ubuntu, openoffice, firefox, thunderbird ….

Partie 1 : Présentation et Marché du logiciel libre

Source : Kagou Blog