Django-fr

Forum

#1 07-09-2009 21:24:43

GENTIL charlie
Membre
Inscription : 11-08-2010
Messages : 13

Démarrage du serveur de dv depuis un script shell

Bonjour,

je suis un peu nouveau sous linux et je cherche à créer un script shell (je crois que l'on dit comme ça) afin de permettre le lancement du serveur de développement en double cliquant dessus.
Avec l'excellente documentation du site d'ubuntu je pense ne pas avoir trop de mal pour faire une telle chose.

Cependant je me pose la question de l'arrêt du serveur...

Mon idée serait la suivante:
1°) Démarrage du serveur
2°) Lancement du navigateur web avec accès à la page d'accueil du site
3°) Arrêt du serveur dès que toutes les fenêtres du navigateur sont fermées.

Pouvez-vous me dire si une telle chose est envisageable?

D'avance merci.
Charlie

Hors ligne

#2 08-09-2009 06:21:22

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : Démarrage du serveur de dv depuis un script shell

Salut,

Il te faut faire un script bash dans ce genre

# Démarrage du serveur
python manage.py runserver 2>/tmp/django-server.log || gedit /tmp/
django-server.log &

# Lancement du navigateur
firefox http://localhost:8000/  &&

# Kill du serveur
kill $(ps | egrep -v egrep | egrep manage.py  | cut -f 2 -d " ")

Tu peux utiliser && pour attendre la fin de firefox pour killer le 
serveur.

Le plus simple est d'obtenir le pid et de tuer les processus 
correspondants ce que fait cette commande.

Je pense que ça peut fonctionner.

A bientôt

Rémy


Le 8 sept. 09 à 04:24, GENTIL charlie a écrit :

> Bonjour,
>
> je suis un peu nouveau sous linux et je cherche à créer un script 
> shell (je crois que l'on dit comme ça) afin de permettre le 
> lancement du serveur de développement en double cliquant dessus.
> Avec l'excellente documentation du site d'ubuntu je pense ne pas 
> avoir trop de mal pour faire une telle chose.
>
> Cependant je me pose la question de l'arrêt du serveur...
>
> Mon idée serait la suivante:
> 1°) Démarrage du serveur
> 2°) Lancement du navigateur web avec accès à la page d'accueil du site
> 3°) Arrêt du serveur dès que toutes les fenêtres du navigateur sont 
> fermées.
>
> Pouvez-vous me dire si une telle chose est envisageable?
>
> D'avance merci.
> Charlie
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django

Hors ligne

#3 08-09-2009 17:58:18

GENTIL charlie
Membre
Inscription : 11-08-2010
Messages : 13

Re : Démarrage du serveur de dv depuis un script shell

Hello,

Merci pour ta réponse.
Il y a juste un bug au niveau du kill du serveur qui ne s'effectue pas lorsque je coupe mon navigateur...
As-tu une idée?

Autre chose: si je rends mon script exécutable en double cliquant dessus, il y a t-il un moyen de ne pas avoir la fenêtre qui nous demande ce que l'on souhaite faire ("lancer dans un terminal" / "Afficher" / "Annuler" / "Lancer")

D'avance merci
Charlie




________________________________
De : Rémy Hubscher <hubscher.remy _AT_ gmail.com>
À : Liste francophone pour le framework web Django <django _AT_ lists.afpy.org>
Envoyé le : Mardi, 8 Septembre 2009, 7h21mn 22s
Objet : Re: [afpy/django] Démarrage du serveur de dv depuis un script shell


Salut,

Il te faut faire un script bash dans ce genre

# Démarrage du serveur
python manage.py runserver 2>/tmp/django-server.log || gedit /tmp/django-server.log &

# Lancement du navigateur
firefox http://localhost:8000/  &&

# Kill du serveur
kill $(ps | egrep -v egrep | egrep manage.py  | cut -f 2 -d " ")

Tu peux utiliser && pour attendre la fin de firefox pour killer le serveur.

Le plus simple est d'obtenir le pid et de tuer les processus correspondants ce que fait cette commande.


Je pense que ça peut fonctionner.

A bientôt

Rémy


Le 8 sept. 09 à 04:24, GENTIL charlie a écrit :

Bonjour,
>
>je suis un peu nouveau sous linux et je cherche à créer un script shell (je crois que l'on dit comme ça) afin de permettre le lancement du serveur de développement en double cliquant dessus.
>Avec l'excellente documentation du site d'ubuntu je pense ne pas avoir trop de mal pour faire une telle chose.
>
>Cependant je me pose la question de l'arrêt du serveur...
>
>Mon idée serait la suivante:
>1°) Démarrage du serveur
>2°) Lancement du navigateur web avec accès à la page d'accueil du site
>3°) Arrêt du serveur dès que toutes les fenêtres du navigateur sont fermées.
>
>Pouvez-vous me dire si une telle chose est envisageable?
>
>D'avance merci.
>Charlie
>
>_______________________________________________
>django mailing list
>django _AT_ lists.afpy.org
>http://lists.afpy.org/mailman/listinfo/django

Hors ligne

#4 08-09-2009 18:02:30

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : Démarrage du serveur de dv depuis un script shell

Salut,

Je pense que c'est que firefox se lance comme un démon.

Du coup le kill ne se fait pas car on passe soit tout de suite dans le 
&& soit jamais.

Pour bien faire il faudrait lancer les commandes les unes après les 
autres.
Sinon, il faut détecter la fermeture de firefox. (En vérifiant la 
présence du fichier lock par exemple ?)

Il doit falloir creuser un peu.

Bon courage

Rémy

Le 9 sept. 09 à 00:58, GENTIL charlie a écrit :

> Hello,
>
> Merci pour ta réponse.
> Il y a juste un bug au niveau du kill du serveur qui ne s'effectue 
> pas lorsque je coupe mon navigateur...
> As-tu une idée?
>
> Autre chose: si je rends mon script exécutable en double cliquant 
> dessus, il y a t-il un moyen de ne pas avoir la fenêtre qui nous 
> demande ce que l'on souhaite faire ("lancer dans un terminal" / 
> "Afficher" / "Annuler" / "Lancer")
>
> D'avance merci
> Charlie
>
> De : Rémy Hubscher <hubscher.remy _AT_ gmail.com>
> À : Liste francophone pour le framework web Django <django _AT_ lists.afpy.org
> >
> Envoyé le : Mardi, 8 Septembre 2009, 7h21mn 22s
> Objet : Re: [afpy/django] Démarrage du serveur de dv depuis un 
> script shell
>
> Salut,
>
> Il te faut faire un script bash dans ce genre
>
> # Démarrage du serveur
> python manage.py runserver 2>/tmp/django-server.log || gedit /tmp/
> django-server.log &
>
> # Lancement du navigateur
> firefox http://localhost:8000/  &&
>
> # Kill du serveur
> kill $(ps | egrep -v egrep | egrep manage.py  | cut -f 2 -d " ")
>
> Tu peux utiliser && pour attendre la fin de firefox pour killer le 
> serveur.
>
> Le plus simple est d'obtenir le pid et de tuer les processus 
> correspondants ce que fait cette commande.
>
> Je pense que ça peut fonctionner.
>
> A bientôt
>
> Rémy
>
>
> Le 8 sept. 09 à 04:24, GENTIL charlie a écrit :
>
>> Bonjour,
>>
>> je suis un peu nouveau sous linux et je cherche à créer un script 
>> shell (je crois que l'on dit comme ça) afin de permettre le 
>> lancement du serveur de développement en double cliquant dessus.
>> Avec l'excellente documentation du site d'ubuntu je pense ne pas 
>> avoir trop de mal pour faire une telle chose.
>>
>> Cependant je me pose la question de l'arrêt du serveur...
>>
>> Mon idée serait la suivante:
>> 1°) Démarrage du serveur
>> 2°) Lancement du navigateur web avec accès à la page d'accueil du 
>> site
>> 3°) Arrêt du serveur dès que toutes les fenêtres du navigateur sont 
>> fermées.
>>
>> Pouvez-vous me dire si une telle chose est envisageable?
>>
>> D'avance merci.
>> Charlie
>>
>> _______________________________________________
>> django mailing list
>> django _AT_ lists.afpy.org
>> http://lists.afpy.org/mailman/listinfo/django
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django

Hors ligne

Pied de page des forums