Bonjour à tous,
J'ai un petit souci et je sais pas vraiment encore vers quelle mécanique je dois me diriger.
ENVIRONNEMENT:
J'ai plusieurs logiciels qui utilise des licences. Chaque logiciels on des niveaux d’accès (USER/SUPER USER/ ADMIN / USINE) et la possibilité d'avoir 2 modes de licence, soit des clefs sous forme d'une série de chiffre alphanumérique, soit un Dongle sous la forme d'une clef USB. L'un n'est utilisable que sur un seul PC, l'autre pouvant donc être déplacer. En théorie, la Clef alpha est adapté au personnels Utilisateur pour de la visu, et les Dongles en admin pour les itinérant en maintenance par exemple, même si en pratique c'est pas vraimetn utilisé comme cela au final, mais bon sa n'est pas le sujet.
PROBLÈME:
Pour les Dongles j'ai pas trop de souci, l’interrogation est bloquante mais assez rapide, le Dongle étant prioritaire et pouvant être enlevé je l’interroge régulièrement, dans un thread a part afin de pas bloquer l'utilisateur. Par contre l'interrogation des serveurs pour la gestion de clef alphanumérique est plus problématique, car il prend entre 20 et 40 secondes a répondre. Je l'interroges qu'une fois, à l'ouverture du logiciel, mais cela bloque donc l’accès au logiciel le temps de savoir si la licence est encore valide. Bon si un Dongle est aussi présent sur le PC je passe rapidement en continuant à attendre la réponse de l'autre.
S'il n'y a pas de licence Alpha. de déclaré, mais seulement un Dongle, si l'utilisateur enlève le Dongle cela stop le logiciel après avertissement et 60 secondes.
IDÉE ENVISAGÉ:
Pour éviter ce temps d'attente au démarrage, mais aussi pour avertir un utilisateur que sa licence est périmée alors qu'il n'utilise pas encore le logiciel (cela arrive parfois qu'un utilisateur ai besoin sur site du logiciel et il s'aperçois que sa licence est périmée,même si je préviens 30 jours avant, si le client ouvre le logiciel durant cette période, cela ne semble pas suffire), je souhaiterais donc qu'un logiciel démarre avec Windows pour s'occuper des licences.
Ainsi lorsque l’utilisateur démarre le logiciel cela interroge celui qui gère les licences afin d'avoir une information rapidement (à voir la méthodologie pour cela et le cryptage a utiliser).
De plus en cas d'expiration l'utilisateur serait averti immédiatement même s'il n'utilise pas le logiciel en question.
QUESTION:
1)Quel type de logiciel utiliser pour la gestion des licences.
-Un service, mais cela semble difficile d’interagir ensuite avec l'écran de l’utilisateur.
-Donc je pensais plus à un logiciel démarrant en arrière plan avec Windows et se plaçant directement dans la barre de processus à coté de l'horloge. Mais cela ne semble pas natif en WPF.
2)La communication entre les logiciels et le service de licence.
-Utilisant des Sockets ou existe t'il un autre moyen intégrer dans le DotNet.
Subsidiaire)Il faut aussi que le client puisse, s'il préfère, n'utilise pas le service de licence au démarrage de Windows. Se serait donc plus long a lancer les logiciels, mais surtout plus d’alerte préventive.
Partager