Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 12 sur 12
  1. #1
    Invité de passage
    Inscrit en
    février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : février 2013
    Messages : 7
    Points : 0
    Points
    0

    Par défaut Script connexion serveur

    Bonjour, l'on m'a demandé de réaliser un script "météo" qui joindrais un serveur xmpp au choix et renverrait une page de couleur en fonction de la réponse de ce dernier.

    J'ai donc une vue qui m'affiche un formulaire avec lequel on choisi le serveur parmi ceux proposés.


    SERVERS = (
    ('1', 'server_x'),
    ('2', 'server_y'),
    ('3', 'server_z'),
    )

    class ContactForm(forms.Form):
    username = forms.CharField(max_length=100)
    password = forms.CharField(max_length=100)
    server = forms.ChoiceField(choices=SERVERS)

    def contact(request):
    if request.method == 'POST':
    form = ContactForm(request.POST)
    if form.is_valid():
    username = form.cleaned_data['username']
    password = form.cleaned_data['password']
    server = form.cleaned_data['server']
    return HttpResponseRedirect('/connexion_x')
    else:
    form = ContactForm()
    return render_to_response('connexions/accueil.html', { 'form': form, }, context_instance=RequestContext(request))


    def connexion_x(request):
    c = RequestContext(request)
    c.update(csrf(request))
    return render_to_response('connexions/connect_x.html', c)


    def connexion_y(request):
    c = RequestContext(request)
    c.update(csrf(request))
    return render_to_response('connexions/connect_y.html', c)


    def connexion_z(request):
    c = RequestContext(request)
    c.update(csrf(request))
    return render_to_response('connexions/connect_z.html', c)


    Actuellement au terme de ce code j'ai une réponse avec une page ayant le template lié à la page connexion_x.

    Ce que j'aimerais faire c'est un thread qui lance la connexion au serveur en boucle et renvois les données dans une base de donnée (serveur et état du serveur). Et récupérer les dernières données de la base afin de renvoyer le dernier état du serveur choisi.


    Le script de connexion au serveur

    cnx = jabber.Cnx(username, password, server)
    cnx.register_message(messageHandler)
    cnx.connect()
    time.sleep(3)
    cnx.sendMsg('_JabberTest', 'plop !')
    time.sleep(3)
    cnx.disconnect()

    Je ne sais pas si j'ai été clair mais je suis prêt à donner plus d'explications si nécessaire.

  2. #2
    Membre actif
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    octobre 2011
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : octobre 2011
    Messages : 157
    Points : 154
    Points
    154

    Par défaut

    salut,

    je pense qu'il vaut mieux faire une appli à coté qui tourne en service.. et que tu interroges depuis ton appli django lorsqu'on te demande un affichage

  3. #3
    Invité de passage
    Inscrit en
    février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : février 2013
    Messages : 7
    Points : 0
    Points
    0

    Par défaut

    Comment fais-tu "une appli qui tourne en service" stp ? merci d'avance

  4. #4
    Membre actif
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    octobre 2011
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : octobre 2011
    Messages : 157
    Points : 154
    Points
    154

    Par défaut

    ça dépend de l'os du serveur

  5. #5
    Invité de passage
    Inscrit en
    février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : février 2013
    Messages : 7
    Points : 0
    Points
    0

    Par défaut

    les serveurs ont linux en OS

  6. #6
    Membre actif
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    octobre 2011
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : octobre 2011
    Messages : 157
    Points : 154
    Points
    154

    Par défaut

    il existe des centaines de distributions linux différentes...

  7. #7
    Invité de passage
    Inscrit en
    février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : février 2013
    Messages : 7
    Points : 0
    Points
    0

    Par défaut

    aucune idée

  8. #8
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 462
    Points : 8 255
    Points
    8 255

    Par défaut

    Citation Envoyé par MrGaufre Voir le message
    Comment fais-tu "une appli qui tourne en service" stp ? merci d'avance
    Vous voulez peut être parler d'un "service" à la Windows.
    Sur linux, çà s'appelle un daemon: c'est un process qui tourne sans terminal et qui se lance de façon particulière. Le plus simple étant d'utiliser la biblio daemonize.

    Lorsque vous écrivez:
    Ce que j'aimerais faire c'est un thread qui lance la connexion au serveur en boucle et renvois les données dans une base de donnée (serveur et état du serveur). Et récupérer les dernières données de la base afin de renvoyer le dernier état du serveur choisi.
    Il faut relire "thread" comme activité asynchrone réalisée par un daemon/service.

    Ceci dit je n'ai toujours pas compris pourquoi cela devait être aussi compliqué.
    - W
    Architectures Post-Modernes

  9. #9
    Invité de passage
    Inscrit en
    février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : février 2013
    Messages : 7
    Points : 0
    Points
    0

    Par défaut

    grosso modo il faut que la personne choisisse son serveur, et qu'en réponse il y ai une page de couleur renvoyée en fonction de l'état de la connexion au serveur, et je dois utiliser une base de donnée.

    c'est aussi compliqué parce que je suis novice et que j'ai tendance à toujours partir sur des trucs plus compliqué que nécessaire

  10. #10
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 462
    Points : 8 255
    Points
    8 255

    Par défaut

    Citation Envoyé par MrGaufre Voir le message
    grosso modo il faut que la personne choisisse son serveur, et qu'en réponse il y ai une page de couleur renvoyée en fonction de l'état de la connexion au serveur, et je dois utiliser une base de donnée.
    Pourquoi interroger/alimenter la BDD plutôt que le serveur?
    Si c'est une question de performance, le site Web dispose en général d'un cache "clé/valeur" qui pourrait être mis à profit pour éviter de faire une requête vers le serveur à chaque fois.

    Je ne vois pas trop l'intérêt de "charger" le serveur de BDD pour y récupérer des données aussi volatiles que le temps qu'il fait. Si les rafraîchissement sont tirés par les requêtes utilisateurs, plus besoin d'un daemon pour "pousser", plus besoin de tables pour les stocker, plus besoin de s'inquiéter du dimensionnement du serveur, des disques,...

    c'est aussi compliqué parce que je suis novice et que j'ai tendance à toujours partir sur des trucs plus compliqué que nécessaire
    Plus simple, moins cher,...
    - W
    Architectures Post-Modernes

  11. #11
    Invité de passage
    Inscrit en
    février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : février 2013
    Messages : 7
    Points : 0
    Points
    0

    Par défaut

    Je ne vois pas trop l'intérêt de "charger" le serveur de BDD pour y récupérer des données aussi volatiles que le temps qu'il fait. Si les rafraîchissement sont tirés par les requêtes utilisateurs, plus besoin d'un daemon pour "pousser", plus besoin de tables pour les stocker, plus besoin de s'inquiéter du dimensionnement du serveur, des disques,...
    okay et tu ferais ça comment en faite en utilisant le script de connexion ?

  12. #12
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 462
    Points : 8 255
    Points
    8 255

    Par défaut

    Citation Envoyé par MrGaufre Voir le message
    okay et tu ferais ça comment en faite en utilisant le script de connexion ?
    En fait, vous parlez de "météo" alors que l'exemple peut difficilement faire mieux que remonter l'état d'un des 3 serveurs (up ou down). Vous utilisez XMPP (un protocole de messagerie instantanée) pour faire l'équivalent d'un ping.

    Vous avez certainement de bonnes raisons mais il m'est impossible de savoir ce que vous voulez faire et si les choix faits sont raisonnables.
    A partir de là, difficile de réfléchir à comment faire alors qu'il est quasi certain que j'aurais tout faux.

    - W
    Architectures Post-Modernes

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •