IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

application tournant sous TSE


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 121
    Points : 48
    Points
    48
    Par défaut application tournant sous TSE
    Bonjour.
    J'ai besoin d'identifier les postes qui utilisent un soft car un client
    souhaite facturer en fonction du nombre de postes actifs.
    C'est à dire, qu'un poste qui lance plusieurs programmes ou plusieurs fois
    le même contera pour 1.

    J'ai donc pensé à récupérer les adresses IP des postes.
    Mais comment cela se passe t il pour les postes qui utilisent un TSE.
    Vais-je récupérer la même adresser IP quelque soit le poste connecté ?
    Dans ce cas, comment différencier deux postes différents ?

    PS :je n'ai pas à disposition de Terminal serveur.

  2. #2
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    L'IP peut poser problème, car les IP elles peuvent changer.
    Sauf, si on est SUR que tous les postes ont une IP fixes définis sur le client ou par liaison MAC au niveau du DHCP. mais c'est pas très fiable je trouve.

    Une autre solution consisterait à utiliser le nom du poste.

    Sinon, dans le cas du TSE, au lieu du nom du poste, tu peux utiliser le nom de l'utilisateur loggué.

    Ca devrait normalement être représentatif du nombre d'utilisateur utilisant le soft... TSE or not ...

    bon courage !
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 121
    Points : 48
    Points
    48
    Par défaut
    Salut.
    L'adresse IP convient car il s'agit de compter le nombre de postes actifs à un moment précis.C'est à dire : au démarage d'une appli, mon client souhaite savoir si cet ip est déjà connecté.Si c'est le cas le démarage est autorisé, sinon on compte combien d'ip sont connectés. On accepte si ce nombre ne dépasse pas une certaine valeur.

    Quand tu parles d'utilisateur loggué, il s'agit d'une notion propre à TSE ?
    Si oui, comment fait on pour récupérer cette valeur ?

    Je le répète, je n'ai pas de TSE sous la main pour tester.
    Et les tests chez mon clients ne sont pas simples.Il dort quand je travaille, 11 heures de décalage horaire.

  4. #4
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    En fait ce n'est pas précis.

    Les applis... une appli en particulier dont tu n'es pas maitre, c'est à dire dont tu ne peux modifier le code pour y ajouter quelquechose ?

    Ou bien, si tu es maitres de cette applis 2 cas:
    tu as du TSE (mixte possible sans utiliser TSE) OU tu n'en as pas.

    Si tu as du TSE, alors tu es certainement sur un domaine.
    Dans ce cas, un utilisateur démarre son PC et se loggue avec un Login.
    C'est le même login en général, lorsqu'il se loggue sous le TSE.

    Donc, si tu es maitre de l'appli, il suffit d'écrire quelquepart dans un log ou une table BD, un TimeStamp de l'utilisateur au démarrage de l'appli. .Et éventuellement la même chose lorsqu'il quitte l'appli.

    Par exploitation de ce fichier Log, tu sais exactement combien de users sont connectés (TSE ou non) à ton applis à un moment donné.
    Si tu fais une requête style "hier à 15h combien était connectés de user?"
    ou bien, sur le moment présent, ca ne change rien.

    SI tu n'as pas de TSE, alors le nom du poste démarrant l'application suffit.

    SI tu n'es pas maitres des applis que tu souhaites compter... alors là c'est plus un probleme Delphi, ou alors il faut dév. quelquechose de plus compliquer qui existe déjà, un logiciel d'admin réseau/parc. info.

    Bon courage !
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 121
    Points : 48
    Points
    48
    Par défaut
    En fait, c'est un peu compliqué.
    Je dévelope une application à partir de laquelle mon client peut développer d'autres application. Autrement dit, je developpe un outil de développement.
    Si tu veux plus d'explications, tu peux voir le site de notre produit : www.silverdev.com

    En tout cas, il y a un moment ou j'ai la possibilité de modifier le code.

    Pour récupérer le user sous tse, tu utilises getusername ?

    Dans ce cas, je pense récupérer l'adresse ip et le user et utiliser le couple pour identifier le poste.

    Sans tse : peu importe si deux utilisateurs ont le même nom d' user car pas la même adresser ip
    avec tse: Tout le monde aura la même adresse ip, mais pas le même user.
    Dans le cas d'un parc mixte (tse et non tse, je suppose que tous les postes non tse auront une ip différente de celle du tse)

    Cette solution te parait bonne ?

  6. #6
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Déjà oui, j'utilise GetUserName.

    Je te donne les 2 fonctions pour récupérer le user ou le poste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    function UserName : String;
    var
       WLongueur : DWord;
       pcTexte : PChar;
    begin
         WLongueur := 21;
         GetMem( pcTexte, WLongueur );
         try if Windows.GetUserName( pcTexte, WLongueur )
                then Result := UpperCase( pcTexte )
         finally FreeMem( pcTexte ) end;
    end;
     
    function ComputerName : String;
    var
       WLongueur : DWord;
       pcTexte : PChar;
    begin
         WLongueur := Max_ComputerName_Length + 1;
         GetMem( pcTexte, WLongueur );
         try if Windows.GetComputerName( pcTexte, WLongueur )
                then Result := UpperCase( pcTexte )
         finally FreeMem( pcTexte ) end;
    end;
    Sinon oui la solution me parait bonne, tout dépend comment tu comptes tes applis, est-ce que la même applis (je sais pas si tu peux te retrouver dans ce cas de figure) lancée simultanément en local et en TSE compte pour 1 ou 2 ? là il faut prendre soit uniquement le user, soit uniquement le nom du poste qui suffit.

    L'ip pourquoi pas, mais le nom du poste reste constant en général. L'ip peut en général bouger...(mais comme c'est à un instant présent...), mais couplé au user effectivement... mais autant prendre le nom du poste dans ce cas.
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 121
    Points : 48
    Points
    48
    Par défaut
    La même appli lancée plusieurs fois compte pour 1.
    Mon client facture à ses clients au nombres de postes actifs.
    (Un maximum est fixé)

    Je pense coupler IP et user car il peut installer son progiciel chez différents clients à lui.Chez ceux n'étant pas en tse il se peut que plusieurs postes possèdent le même nom. (non ?!)

  8. #8
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    je crois pas, sur un parc, sur une meme plage IP, je crois pas que 2 postes peuvent avoir le même nom.

    Je disais ca, pour l'ip, pour simplfiier.
    Car obtenir l'IP est souvent plus compliqué. Car il faut différencier l'ip 127.0.0.1, l'ip attribué par le dhcp local ou fixée etc... , une IP générée par d'autres composants réseaux (carte wifi, meme firewire dans certains cas etc...), donc à moins d'être tres pointilleux sur l'obtention de l'ip, je trouve le nom du poste plus fiable.

    Ou sinon un identifiant systeme (id CPU...)
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 121
    Points : 48
    Points
    48
    Par défaut
    id cpu ? ça va marcher ça avec tse ?
    Comment le récupérer ?api ?

    J'avais pensé aussi à l'adresse mac, mais suis pas sur que ça fonctionne avec tse.

  10. #10
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    l'adresse mac c'est pareil, faut être sur de choisir la bonne parmi les différents periph éventuels.

    T'es vraiment contre le ComputerName !

    A mon avis, UserName suffit amplement, tout système confondu, mais bon...

    Après pour palier à la tentative des usagers qui utilisent le même user, tu peux autoriser 2 sessions simultanée pour chaque user...

    Mais bon, c'est toujours une inconvénient en société d'utiliser le même login pour plusieurs users... surtout sur un parc déjà établi.

    Donc je pense qu'il ne faut pas trop compliquer et brider à cause des 1% qui tenteront de passer au travers de la protection, au détriment de la gène de ceux qui sont de bonnes fois (le niveau de protection est souvent inversement proportionnel au confort de l'usager...)
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 121
    Points : 48
    Points
    48
    Par défaut
    J'ai fait un petit programme de test qui affiche username et computername.
    J'ai envoyé à mon client qui a testé sous tse.
    Le programme affiche le nom du serveur tse pour le computername, mais bien le nom du user connecté.
    Je vais donc opté pour le couple ip + username.
    Je te remercie pour tous tes conseils TiTacToe.

    A+

    Arnaud
    Grenoble

  12. #12
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/04/2014, 08h02
  2. Menu sur une application développée pour Android 2.1 tournant sous 4.0
    Par burgraf_yann dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 11/01/2013, 13h44
  3. Restriction des applications visibles sous TSE 2008
    Par muppetshow dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 20/05/2010, 17h31
  4. Réponses: 3
    Dernier message: 10/05/2004, 13h29
  5. Quel langage pour un application graphique sous windows
    Par ipeteivince dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 06/06/2003, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo