Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/08/2008, à 16:47

alexis57

Faire une interface web comme mldonkey.

Bonjour,
Je voudrais faire ma propre interface web pour controler tous mes programmes sous ma debian. ( depuis l'extérieur ), un peu comme SSH sauf qu'on ne peut que stop,start,reboot les programmes.
Je sais que je peux le faire avec la libssh2 puis apache sauf que mldonkey n'a pas besoin de apache.
Comment faire pour faire pareil ?
Merci smile
PS : mldonkey n'utilise pas de fichier php.

Hors ligne

#2 Le 12/08/2008, à 19:24

tiky

Re : Faire une interface web comme mldonkey.

Tu codes ton propre serveur http,  pas facile en C/C++ mais très simple dans des langages de haut niveau comme Python, Perl ou Ruby. Ensuite tu as plus qu'à créer un script pour /etc/init.d ( un simple script bash ) pour lancer ton programme.

Pour t'aider, en python: http://docs.python.org/lib/module-BaseHTTPServer.html. Comme tu peux le voir il suffit de 4 lignes pour créer ton serveur, évidemment il est très basique mais suffisant pour tes besoins. Il doit exister un module pour utiliser ssh sous python.

Dernière modification par tiky (Le 12/08/2008, à 19:28)


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#3 Le 12/08/2008, à 19:46

Link31

Re : Faire une interface web comme mldonkey.

Le C++ est d'aussi haut niveau (voire parfois plus) qu'un langage comme le Perl. Et c'est aussi facile d'écrire un serveur en C++, en Bash ou en C qu'en Perl, Python ou Ruby : il suffit de faire des std::cout<< / echo / printf() et de lancer le programme avec Xinetd.

Dernière modification par Link31 (Le 12/08/2008, à 19:46)

Hors ligne

#4 Le 12/08/2008, à 19:53

alexis57

Re : Faire une interface web comme mldonkey.

ok merci je vais me renseigner.
Et donc ça sera super léger et je pourrais gérer le php ?
Parce que je pensais mettre la page qui fera arrêter,lancer et rebooter un programme.
Y a t'il des exemples pour que je voye comment faire ?
En tout cas, merci pour vos réponses, ça m'éclaire plus.

Le lien en français pour ceux que ça interesse :
http://quentel.pierre.free.fr/python-trad/module-BaseHTTPServer.html

Dernière modification par alexis57 (Le 12/08/2008, à 19:56)

Hors ligne

#5 Le 12/08/2008, à 20:21

tiky

Re : Faire une interface web comme mldonkey.

Link31 a écrit :

Le C++ est d'aussi haut niveau (voire parfois plus) qu'un langage comme le Perl. Et c'est aussi facile d'écrire un serveur en C++, en Bash ou en C qu'en Perl, Python ou Ruby : il suffit de faire des std::cout<< / echo / printf() et de lancer le programme avec Xinetd.

Il faut plus que 4 lignes.... et non ce n'est pas de aussi haut niveau le C++ que le python, perl... ce n'est pas une critique. Un langage bas niveau ne signifie pas qu'il est moins bien. Je code pas en Perl mais je connais bien le python et le C++. Un langage de haut niveau doit nécessairement cacher au programmeur la gestion de la mémoire. Le C++ permet de manipuler des concepts que l'on retrouvent habituellement dans les langages haut niveau comme la POO mais il laisse la gestion de la mémoire au programmeur puisqu'il faut libérer cette mémoire soi-même.

Dernière modification par tiky (Le 12/08/2008, à 20:35)


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#6 Le 12/08/2008, à 20:22

tiky

Re : Faire une interface web comme mldonkey.

alexis57 a écrit :

ok merci je vais me renseigner.
Et donc ça sera super léger et je pourrais gérer le php ?
Parce que je pensais mettre la page qui fera arrêter,lancer et rebooter un programme.
Y a t'il des exemples pour que je voye comment faire ?
En tout cas, merci pour vos réponses, ça m'éclaire plus.

Le lien en français pour ceux que ça interesse :
http://quentel.pierre.free.fr/python-trad/module-BaseHTTPServer.html

Si tu codes ton serveur http, tu n'as pas besoin de PHP, tu utilises le langage dans lequel tu as codé ton serveur pour rendre tes pages HTML dynamiques.


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#7 Le 12/08/2008, à 20:55

Link31

Re : Faire une interface web comme mldonkey.

tiky a écrit :
Link31 a écrit :

Le C++ est d'aussi haut niveau (voire parfois plus) qu'un langage comme le Perl. Et c'est aussi facile d'écrire un serveur en C++, en Bash ou en C qu'en Perl, Python ou Ruby : il suffit de faire des std::cout<< / echo / printf() et de lancer le programme avec Xinetd.

Il faut plus que 4 lignes.... et non ce n'est pas de aussi haut niveau le C++ que le python, perl...

Je te dis que si. La gestion de la mémoire peut être, au choix, à la responsabilité du programmeur ou de la bibliothèque standard. Le tout est de savoir coder correctement.
Du code C++ peut être d'aussi haut niveau que du Java, comme il peut être d'aussi bas niveau que du C, au choix.

Et un serveur en C++ ne fait pas plus de 4 lignes :

#include <iostream> 
int main(){
	std::cout << "Content-type: text/plain" << std::endl << std::endl  << "Hello, World!";
}

Un serveur en shell gérant le PHP :

#!/bin/sh
while [ $? -eq 0 ]
do
	nc -vlp 8080 -c \
	       'read a b c
		z=read
		while [ ${#z} -gt 2 ]
		do
			read z
		done
		f=`echo $b|sed "s/[^a-z0-9_.-]//gi"`
		h="HTTP/1.0"
		o="$h 200 OK\r\n"
		c="Content"
		if [ -z $f ]
		then
			echo $o
			ls | while read n
			     do
			             if [ -f "$n" ]
			             then
			                     echo "<a href=\"/$n\">`ls -gh $n`</a><br>"
			             fi
			     done
		elif [ -f $f ]
		then
			echo "$o$c-Type: `file -ib $f`\n$c-Length: `stat -c%s $f`"
			echo
			php -f $f
		else
			echo -e "$h 404 Not Found\n\n404\n"
		fi'
done

Dernière modification par Link31 (Le 12/08/2008, à 20:58)

Hors ligne

#8 Le 12/08/2008, à 20:59

tiky

Re : Faire une interface web comme mldonkey.

Si tu veux, en considérant la bibliothèque standard. Sinon ton serveur http est beaucoup trop simple, même pour l'utilisation qu'il veut en faire. Il doit sans doute exister des bibliothèque en C++ pour créer facilement des serveurs http évolué mais elles sont moins portables qu'un code python. Enfin c'est à lui de voir en fonction de ces besoins.


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#9 Le 12/08/2008, à 21:19

alexis57

Re : Faire une interface web comme mldonkey.

Oki lol bin moi c'est juste pour lancé une interface web avec 2-3 boutons pour lancer 2-3commandes SSH.

Hors ligne