Infos générales

Changement d'adresse du blog !!

Blog.Roozeec.fr
Vendredi 16 décembre 2005
Le serveur WEB le plus connu est sans conteste APACHE couplé au langage de programmation très répandu PHP. Ce couple est très fort pour la création de site web dynamique. Mais que peut-on faire si on veut faire un petit serveur WEB simple propre a soi ? J'entends par là sans avoir les droits root et sans définir un configuration compliquée ? . J'ai peut etre une solution pour vous....si vous êtes dans les cas suivants, ca va peut-etre vous intéresser.
  • 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) :

Karrigell est un canevas de développement web écrit en Python. Il a été pensé pour être vraiment simple à utiliser : serveur web intégré, base de données (KirbyBase), accès facile aux données d'environnement et aux formulaires, et en même temps complet et puissant : exécution de scripts Python dans le même processus que le serveur (pas de CGI), programmation de pages serveur mêlant HTML et code Python (similaire à PHP, JSP, ASP), gestion simple de l'authentification, des sessions, fonctions pour l'internationalisation

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 :
mkdir www
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 :

La date courante est
<% import time
print time.strftime("%d:%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 :

import os
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 :
Include("entete.htm")       # fichier statique avec titre, feuille de style, etc
(...) 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:

print B(I('Roozeec'))  génèrera  <B><I>Roozeec</I></B>

- 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 :

from os import system
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...
Jeudi 30 juin 2005
Pas grand chose a voir avec Linux, mais juste une info intéressante pour les internautes qui sont comme moi et qui utilisent tout le temps le moteur de recherche Google. Je viens de découvrir (normal, c'est disponible uniquement depuis le 27 juin), un moteur de recherche tres sympatique base sur Google. Le principe est d'ajouter des fonctionnalités a Google tout en ayant les meme résultats. C'est apparemment tres prometteur, son nom : MOZBOT


Pour voir les différences entre Mozbot et google, c'est ici : Différences entre Google et Mozbot
Pour tout savoir sur ce moteur : Le blog de MOZBOT
Mercredi 29 juin 2005
Bien que Linux soit immunisé contre les virus du net, il peut etre utile de se protéger contre des attaques ou des connexions sur les ports de l'ordinateur. En effet, si vous allez sur le site Shields Up!, et que vous faites un scan des ports de votre PC, vous aurez peut etre compris l'intéret d'un parefeu. Et ca tombe bien car les versions du noyau Linux depuis la 2.4 en possedent un de base. Comme ce parefeu est directement integré au noyau, il existe une interface (un programme) qui permet de discuter avec lui. Ce programme s'appelle IPTABLES. Il est normalement disponible et installé sur toutes les distributions Linux. Avant de pouvoir utiliser ce programme, je vous conseille quand meme la lecture de ce site : Firewall et sécurité d'un réseau personnel sous Linux . C'est tres instructif !
Apres donc avoir tout lu (...), j'ai donc surfé encore un peu sur le net et trouvé un site sympa avec un script IPTABLES tout fait pour un PC personnel équipé de Linux. Ce site : http://esfa.chez.tiscali.fr/securite.html. Le script est firewall-desktop.sh et est tres facile a installer et a le lancer au boot du PC. Je l'ai d'abord essayé afin de vérifier si ca fonctionne et ce en retestant avec Shields Up!
Pour l'installer , c'est tres simple :

- Se connecter en root
- Aller dans /etc/rc.d avec la commande : cd /etc/rc.d
- Editer le fichier rc.local et rajouter la ligne : sh /etc/rc.d/firewall-desktop.sh eth0 ( (remplacer eth0 par ppp0 si vous utiliser une connection PPP)
- Sauvegarder le fichier
- Reboot du PC
- Tests des tables : iptables -t filter -L -n - v doit vous montrer toutes les tables de filtres du parefeu.
- Retest avec ShieldsUp

Maintenant que tout cela est paré, j'ai donc installé un serveur WEB sur mon PC. Ce serveur se prénomme apache et s'installe tres facilement avec urpmi. Tant que j'y étais j'ai aussi installé PHP et mysql (mod_php, mysql), ca me servira surement plus tard. Une fois l'installation terminée, il suffit de lancer le serveur apache par la commande : /ect/init.d/httpd start (en root bien sur), le message de réponse doit etre OK. Pour vérifier tout ca, je lance mon navigateur sur l'adresse : http://127.0.0.1 et je tombe sur le message d'accueil d'apache et mandriva. Maintenant vous allez peut etre me poser la question : a quoi ca sert ?
Je vous reponds par ceci :

- Apprendre comment fonctionne un serveur WEB et tout ce qu'il y a derriere (PHP,mysql, etc...
- Développer un site web intéractif ou non chez soi avant de tout transférer chez l'hébergeur
- Monter son serveur WEB perso. Par exemple, c'est ce que je suis en train de faire. Si vous vous connectez sur roozeec.homelinux.net vous avez la page d'accueil d'apache dont je parlais précedemment et vous etes connecté sur mon PC a la maison (visible dans la journée uniquement, j'éteins mon PC le soir ...). Je vous ferais un topo dans les prochains jours pour vous décrire comment on fait pour avoir une adresse internet perso avec un hébergement sur son PC.



Jeudi 9 juin 2005
Il y a quelques temps , j'avais expérimenté les vidéos en ligne (par exemple sur tf1.fr) avec Realplayer (voir les articles Vidéos en ligne (TF1,...) et Vidéos en ligne plein écran ). Je réitère la chose aujourdh'ui en plus simple. Effectivement, il existe un plugin pour firefox/mozilla qui permet de lire et d'afficher des vidéos dans le navigateur : mplayerplugin.

 


Les formats acceptés par ce plugin sont :

Window Media wmv, avi, asf, wav and asx
QuickTime mov and smil
MPEG Video and Audio mpeg and mp3
Ogg Vorbis ogg
AutoDesk FLI fli and flc
Vivo vivo

Il se base sur l'excellent lecteur multimédia mplayer, donc vous devez absolument l'installer si vous voulez l'utiliser. Pour installer mplayerplugin sous Mandriva , comme d'habitude urpmi est de mise :

urpmi mplayerplugin
ftp://ftp.ens-cachan.fr/mirror/Mandrakelinux/official/2005/i586/media/contrib/mplayerplugin-2.80-2mdk.i586.rpm
installation de mplayerplugin-2.80-2mdk.i586.rpm depuis /var/cache/urpmi/rpms
Préparation ... #############################################
1/1: mplayerplugin #############################################

A ce moment, il faut relancer le navigateur et vérifier si le plugin est bien chargé en tapant dans la barre d'adresse : about:plugins
A ce moment vous devez voir une page avec les infos suivantes :

Cliquez sur l'image pour agrandir



Celà signifie donc que le plugin est bien chargé. Si vous n'avez pas celà, vérifiez le répertoire : /usr/lib/mozilla/plugins , vous devrez y trouver un fichier : mplayerplug-in.so

a partir de ce moment, un petit tour sur tf1.fr par exemple pour visualiser une vidéo. Au premier clic sur la vidéos, une boite de dialogue apparait demandant le lecteur multimédia, ici on garde windows Media player :



Un petit clic sur VALIDER amène la fenêtre suivante :



Bon signe ici, car on voir l'affichage du plugin, il faut attendre le chargement de la vidéos (je trouve que c'est assez long quand même, même avec une connexion à 2M) . Une fois le chargement fait, la vidéo se joue :



Pour la passer en plein écran, il suffit de positionner la souris sur la vidéo et de cliquer sur la touche de droite :



Puis de cliquer sur Full Screen.

Une petite recommandation tout de même : Je me suis apercu que si je n'arrête pas la vidéo avant de fermer la fenêtre, le navigateur se fige et un kill du process est necéssaire... donc ....

Voilà, maintenant je vais tacher d'essayer de jouer des vidéos Winamp Nullsoft (nsv), il y en a beaucoup sur le net, clips et autres..
 
 
créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur avec TF1 Network - Signaler un abus