Le telnet, c’était sympa, mais pourquoi pas faire du HTTP ?
Lancer un serveur HTTP
Ruby inclut de base un outil pour lancer un serveur HTTP: WEBrick. On va donc lancer notre serveur :
require 'webrick' include WEBrick monserveur = HTTPServer.new(:Port => 8080,:DocumentRoot => Dir::pwd + "/html") monserveur.start
Il faut inclure le module “webrick” (je ne sais pas pourquoi il y est 2 fois, c’est peut-être pas le même exactement). Puis on crée un objet HTTPServer, avec en paramètre, le port (qui deviendra http://localhost:8080) et la racine du site. Ici, ma racine est dans un sous-dossier html (par rapport à mon fichier). J’y ai mis un fichier “index.html”.
J’ouvre mon navigateur préféré IE6 IE7 Opera Chrome Safari Netscape Flock Konqueror Mosaic Firefox et je vais à http://localhost:8080/, et là miracle :

N’est-ce pas magnifique ?
Demain, on passe au client HTTP!
Flux RSS
*Knock knock*(ing on heaven’s door… ouhhouhh… ok)
La différence entre require et include, de ce que je me souviens c’est que le require, comme dans beaucoup d’autres langages, se charge d’importer un autre fichier en vérifiant qu’il n’est pas importé deux fois (utilise ‘load’ si tu veux pas qu’il fasse cette vérification d’ailleurs).
L’include lui est un peu plus délicat, il s’utilise sur les Modules (ici WEBrick) et fais une sorte de “mélange” de ses méthodes dans le module/classe courant(e) (ici ton serveur HTTP). Il travaille plus au niveau du langage donc, qu’au niveau des fichiers. Vois ça comme une forme un peu limité d’héritage multiple, en fait…
Par exemple, car j’suis pas sûr d’être clair :
______________
Module Vehicle
def type
“motorised”
end
______________
Class Car
include Vehicle
end
______________
my_car = Car.new
my_car.type
=> “motorised”
Correction: je suis pas certain qu’il s’utilise QUE sur des modules l’include… à vérifier en fait..