- Vous ne connaissez pas PHP
- Vous connaissez le langage Python (même rien qu’un peu)
- Vous connaissez le HTML
Bon cet article sera un peu théorique comparé aux autres du site (pas de capture d’écran) mais relativement facile.
Bon je continue, il existe en fait un serveur très sympathique tout en Python qui peut s’installer avec les droits d’un utilisateur sur son répertoire personnel. Pas beau ca ?
Bon, comment s’appelle-t-il alors ? et bien c’est : Karrigell. Voici ses caractéristiques (reprises de la page d’accueil du logiciel) :
Passons donc à son téléchargement :
Pour accéder directement au fichier compressé bz2, c’est ici : Karrigell-2.2.tar.bz2
Pour d’autres extension c’est ici : Karrigell
Maintenant l’installation
Mon répertoire ou sont mis mes fichiers téléchargé est : /data/Downloads
Dans votre répertoire personnel :
cd www
cp /data/Downloads/Karrigell-2.2.tar.bz2 .
bunzip2 Karrigell-2.2.tar.bz2
tar -xvf Karrigell-2.2.tar
mv Karrigell-2.2 karrigel (de facon a faciliter l’acces plus tard)
cd karrigel
Comme je ne suis pas root , je ne peux pas utiliser les ports inférieurs à 1024 pour le serveur (par défaut mis à 80 pour un serveur WEB), j’édite le fichier ini ( Karrigell.ini ) pour changer tout ca :
Je décommente la ligne suivante en enlevant le commentaire (le # devant) : port=8080
et je sauvegarde le fichier. Je vérifie aussi que j’ai pas un serveur apache en route.
Et maintenant je lance le serveur :
python Karrigell.py
Karrigell 2.2 running on port 8080
Debug level 1
Press Ctrl+C to stop
Ceci indique que tout est lancé correctement, maintenant je lance mon navigateur et je me positionne sur la page : http://localhost:8080. Et là une page tout en vert s’affiche m’indiquant que tout fonctionne correctement.

Renseignements :
Karrigel fonctionne avec plusieurs types de fichiers, c’est bien pratique suivant ce que l’on veut faire. J’entands par là si on veut ecrire plus de HTML que de python, ce sera un type de fichier, si c’est plus de python que de html ce sera un autre type, et le type par défaut c’est le fichier avec une extension .py (comme python), comme c’est le cas habituellement avec le fichier .php pour le langage PHP. Voyons donc ces extensions (exmples et description reprises du site officiel) :
1) Les scripts python : extension .py
Les scripts Python exécutés avec Karrigell sont des scripts Python ordinaires, sauf que les instructions print envoient les messages vers le navigateur du client au lieu de la fenêtre de la console. Voir la page Scripts python pour plus de détails : http://karrigell.sourceforge.net/fr/pythonscripts.htm
Exemple : print "Bonjour Karrigell !" affichera le message dans le navigateur
2) Les scripts Python dans Html : extension .pih (python inside html)
Python Inside HTML se comporte de façon très proche des Active Server Pages de Microsoft, des Java Server Pages et de PHP : il s’agit à la base d’un document HTML, dans lequel on insère des portions de code écrites dans un langage de programmation – ici Python. Voir la page http://karrigell.sourceforge.net/fr/pythoninsidehtml.htm
Exemple :
< 0mport time
print time.strftime("0:%m:%y",time.localtime(time.time()))
%>
3) HTML dans python : extension .hip (html inside python)
HTML Inside Python (HIP) est l’inverse de Python Inside HTML ; il rend l’inclusion de code HTML dans des scripts Python plus facile que par des instructions print. voir la page http://karrigell.sourceforge.net/fr/htmlinsidepython.htm
Exemple :
repCourant=os.getcwd()
"Le répertoire courant est <b>"+repCourant+"</b>"
Voilà pour ce qui est des extensions de fichier, quelques fonctionnalités sont aussi bien interessantes :
- Inclusion de fichier :
Exemple :
(…) le corps du script
Include("piedDePage.py") # script qui affichera la date par exemple
- Géneration de HTML en python avec le module HTMLTAGS.
Exemple:
- Commandes du shell
Ce qui est vraiment sympa chez Karrigell c’est que l’appel de commandes linux se fait très simplement. C’est a dire que vous pouvez écrire des scripts qui appellent des commandes linux. Par exemple :
cmd = "ps -eaf|grep kwrite > tmp.txt"
system(cmd)
Si ces lignes sont mises dans un script appelé par le navigateur, elle générera le fichier tmp.txt qu’il suffira de relire et d’appeler les fonctions print pour l’afficher. Cool, non?
Voilà je m’arrête là en espérant vous avoir envie d’essayer…
Articles qui peuvent vous intéresser:


Digg
StumbleUpon
del.icio.us
Facebook
Twitter
Scoopeo
Posted in 







Salut, une idée sur la façon d’installer ça sur linux?
J’ai des erreurs au niveau des librairies:
./Karrigell_async.py: 1: import: not found
./Karrigell_async.py: 2: import: not found
./Karrigell_async.py: 3: import: not found
./Karrigell_async.py: 4: import: not found
./Karrigell_async.py: 5: import: not found
./Karrigell_async.py: 6: import: not found
./Karrigell_async.py: 7: import: not found
: not found_async.py: 8:
./Karrigell_async.py: 10: import: not found
: not found_async.py: 11:
./Karrigell_async.py: 12: import: not found
./Karrigell_async.py: 13: import: not found
: not found_async.py: 14:
./Karrigell_async.py: 15: sockets: not found
Salut, sais tu comment rendre accessible le serveur sur le reseau local avec une adresse autre que 127.0.0.1
@+
et si tu tapes dans ton navigateur : http://HOSTNAMEDETAMACHINE:8080 , ca donne quoi ?