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

Contribuez Discussion :

Tutoriel comment créer une fenêtre d'activation pour votre base


Sujet :

Contribuez

  1. #1
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut Tutoriel comment créer une fenêtre d'activation pour votre base
    Bonjour j'ai cru remarqué que beaucoup de personnes voudraient avoir un code d'activation pour leurs BDD. j'ai ai créer un qui fonctionne mais qui ne sécurise en rien devant quelqu'un qui si connait. Pour les commun des mortels ce code fonctionne a merveille. Simple il permet de donner un semblant de professionnalisme à votre base.

    Bien sur si il y a des personnes qui désire rajouter des bouts de code visant une génération du code lui-même est la bienvenue. j'aimerai que vous mettiez un post si vous le faite merci.

    Premièrement vous devez créer ou avoir un menu général. Dans celui-ci vous créer vos textbox contenant mot de passe et utilisateur avec les propriété visible a [true]. sur le même formulaire en mode création vous créer un autres textbox clé d'activation et un bouton "activer" avec les propriété visible à "False". Moi j'ai ajouté une étiquette contenant un text en rouge "Période d'évaluation terminé" nommée "PET". Donc lorsque la base n'est plus utilisable après une période déterminé ou un nombre d'utilisation déterminé l'utilisateur doit entrer un clé pré-déterminé sans quoi utilisation impossible.

    Vous devez créer une table que j'ai nommé "démo" contenant plusieurs valeurs soit :

    1-Compteur "Numérique"
    2-Active "oui/non"
    3-Premiereinstallation "oui/non"
    4-dateinstallation "date/heure"

    premier bout de code dans le menu général au Form Load :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Private Sub Form_Load()
    Dim base_active As Boolean
    Dim Compteur As Integer
    Dim dateinstallation As Date
    dateinstallation = Nz(DLookup("DateInstallation", "tbl_demo"), 0)
    Compteur = Nz(DMax("Compteur", "tbl_demo"), 0)
    base_active = Nz(DLookup("active", "tbl_demo"), "")
     
     
      If base_active = True Then
            Me.utilisateur.Visible = True
            Me.motdepasse.Visible = True
            Me.entrer.Visible = True
            Me.PET.Visible = False
            Me.codeactivation.Visible = False
            Me.quitter.SetFocus
            Me.activer.Visible = False
     
            Me.utilisateur = Null
                Me.motdepasse = Null
            Me.utilisateur.SetFocus
            Exit Sub
     
        Else
     
        If Compteur > 30 Or date > dateinstallation + 30 Then 'Variable à determiné par vous soit + 30 pour 1 mois !!
     
            MsgBox "La période d'évaluation du produit a expiré." & _
            vbCrLf & "Pour accèder de nouveau à la base de donnée contacter "Votre nom" à l'adresse ------@----.com !", _
            vbExclamation, "Période d'Évaluation Terminée !"
            Me.quitter.SetFocus 'set le focus sur un bouton afin d'enlever la fonction active des des textbox.
            Me.Utilisateur.Visible = False
            Me.motdepasse.Visible = False
            Me.entrer.Visible = False 'bouton "entrer" normal du form 
            Me.PET.Visible = True
            Me.codeactivation.Visible = True
            Me.activer.Visible = True 'bouton activer lorsque période d'évaluation est terminé
            Me.codeactivation.SetFocus
          Else
            Me.utilisateur.Visible = True
            Me.motdepasse.Visible = True
            Me.entrer.Visible = True
            Me.PET.Visible = False
            Me.codeactivation.Visible = False
            Me.quitter.SetFocus
            Me.activer.Visible = False
     
            Me.utilisateur = Null
                Me.motdepasse = Null
            Me.utilisateur.SetFocus
            Exit Sub
        End If
    End If
    End Sub
    Sur Événement click du bouton quitter de votre formulaire :
    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
    25
    Private Sub quitter_Click()
    Dim base_active As Boolean
    Dim MaBD As Database
    Dim MonAppli As Recordset
    Dim NumCompteur As Integer
    base_active = Nz(DLookup("active", "tbl_demo"), "")
     
        If base_active = False Then
     
            Set MaBD = CurrentDb()
     
            NumCompteur = Nz(DMax("Compteur", "tbl_demo"), 0) + 1
            Set MonAppli = MaBD.OpenRecordset("tbl_demo")
     
            MonAppli.AddNew
            MonAppli!Compteur = NumCompteur
            MonAppli.update
            MonAppli.Close
     
            DoCmd.Quit
    Else
     
            DoCmd.Quit
    End If
    End Sub
    code pour l'événement click du bouton activer (Qui est normalement caché si toujour en version Évaluation :
    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
    25
    26
    Private Sub activer_Click()
    Dim tempbackup As Date
     
     
    If Me.codeactivation.Value = "789-456-123" Then 'code unique donc à développer pour en créer un unique pour chaque distribution !!
     
     
    MsgBox "Merci d'avoir acheter votre clé d'activation !", , "Base Activé ! "
            'vous devez créer un backup de la date avant de supprimer tous les enregistrement. Pour la rajouter par la suite. 
            tempbackup = Nz(DLookup("dateInstallation", "tbl_demo"), 0)
     
            CurrentDb.Execute "DELETE * FROM [tbl_demo];"
    Dim MaTable As Recordset
    Set MaTable = CurrentDb.OpenRecordset("tbl_demo")
                MaTable.AddNew
                        MaTable("active") = True
                        MaTable("DateInstallation") = tempbackup
                MaTable.update
    MaTable.Close
    tempbackup = 0
    DoCmd.Close
     
    Else
    MsgBox "Entrez un code Valide SVP", vbCritical, "Mauvais code! "
    End If
    End Sub
    La date d'installation que vous voyer dans ce code est créer au premier démarrage de la base. donc avant de donner votre appli vous devez cocher dans cette table la colonne première installation.Ce qui permettra de copier la date de premier démarrage dans la table.

    j'ai créer une fonction auto() dans un module séparer, appeler par une macro autoexec qui contient :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    '------------------------------------------------------------
    ' autoexec
    '------------------------------------------------------------
    Public Function auto()
    Dim PremiereInstallation As Boolean
    Dim DateToday As Date
    Dim dateinstallation As Date
    dim active as boolean
    On Error GoTo auto_Err
        On Error Resume Next
     
        dateinstallation = Nz(DLookup("dateinstallation", "tbl_demo"), 0)
        PremiereInstallation = Nz(DLookup("PremiereInstallation", "tbl_demo"), "")
        active = nz(dlookup("active","tbl_demo"), "")
        If PremiereInstallation = True Then
     
        DateToday = Format(date, "dd-mmm-yyyy")
     
        Dim MaTable As Recordset
                        Set MaTable = CurrentDb.OpenRecordset("tbl_demo")
                            MaTable.Edit
                               MaTable("dateinstallation") = DateToday
                                MaTable("premiereInstallation") = False
                            MaTable.update
                         End If
                            MaTable.Close
     
        DoCmd.OpenForm "menugeneral", acNormal
     
    if active = false then
        MsgBox " Merci d'Utiliser la Version d'Évaluation. " & _
        vbCrLf & _
        vbCrLf & " Vous diposez de 30 jours d'essai suivant la date d'installation soit le " & dateinstallation & " ou un maximum de 30 ouverture de celle-ci ! " & _
        vbCrLf & " Il vous est possible toute fois d'entrer une clé d'activation via le menu gestion de la base ! ", vbInformation, "Version d'Évaluation ! "
     
    else
        end if 
     
    auto_Exit:
        Exit Function
     
    auto_Err:
        MsgBox Error$
        Resume auto_Exit
     
    End Function

    J'ai créer une fonction afin de renommer tous les entêtes de formulaire qui contient (VERSION DEMO) si la base n'est pas activée.

    Si ça vous intéresse dite le moi et je pourrait créez un nouveau post...
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    j'ai crée une application sous Access 2007 (boutons, formulaires, requettes, éditions) mais avant de l'installer, je souhaiterais la protéger des copies éventeulles.
    Cette application fonctionne très bien mais je n'ai utilisé que des macros préexistantes et aucun code VBA.
    L'idéal serait:
    1- demander un n° de licence lors de l'installation (en runtime) via un CD
    2- réitérer ponctuellement la demande de ce n° lors d'ouvertures ultérieures
    3- demander la réactivation de la licence annuelle

    N'étant pas un pro du code j'ai besoin de comprendre où saisir exactement le code permmetant de protéger cette appli.

    Merci par avance de bien vouloir m'aiguiller.

  3. #3
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    Salut post le bout de code que tu a fait au préalabe en suivant mes indications ici et je t'aiderai à l'adapter !!
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 8
    Points
    8
    Par défaut CODE D’ACTIVATION
    Merci pour ton aide.
    Voici ce qui pourrait-être envisagé pour sécuriser l'ouverture de l"application. Ce code est placé sous le premier formulaire au lancement de l'appli.
    Evidemment je bloque sur les points "" 1 à 4 ...

    LA PREMIERE FOIS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Détail_Click()
     
            Dim code as string
    Code= inputBox(« Saisir le code »)
     
    If Code = "789-456-123-850" Then 'code unique donc à développer pour en créer un unique pour chaque distribution !!
     
    MsgBox "Merci d'avoir acheter votre clé d'activation !", , "Vous pouvez utiliser l’application ! "
    DoCmd.Close

    1- Enregistrer le code saisi afin de pouvoir utiliser l’application sans
    avoir à saisir le code après la première ouverture validée.
    2- Lancer l’ouverture du formulaire qui s’ouvrait sous l’action du clic.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Else
    MsgBox "Entrez un code Valide SVP", vbCritical, "Mauvais code! "
    End If
    LORS DES OUVERTURES SUIVANTES:

    3- Pouvoir redemander le code ponctuellement en cours d’année.
    4- Donner à ce code une durée d’utilisation d’un an avec des délais de
    prévenances deux mois avant la date d’expiration.


  5. #5
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    Salut d'après ce que je peut voir tu n'a pas suivi mon tutoriel à la lettre ... puisque tous ce que tu désire faire est inscrit

    Je te suggère de reprendre mon tutoriel du début et de l'appliquer comme il se doit ... puisque présentement tu me demande de te ré-expliquer tous ce qui est déja fait !!

    si tu a des questions parce que celuil-ci ne fonctionne pas je t'aiderai si tu te pose des question comment fonctionne le vba ces une autre histoire mais je vais tenter du mieux possible de te l'expliquer
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Code licence
    J'ai repris le code ci-dessous qui fonctionne très bien
    Questions:
    1- Lorsque le code a été correctement saisi, comment faire pour ne plus en demander la saisie lors des ouvertures ultérieures ?
    2- Mieux: comment redemander la saisie de ce code à intervalles réguliers ?
    Merci par avance pour ton aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Détail_Click()
            Dim code As String
         code = InputBox(" Saisir le code ")
        If code = "789-456-123-850" Then 'code unique donc à développer pour en créer un unique pour chaque distribution !!
        MsgBox "Merci d'avoir acheté votre clé d'activation !", , "Vous pouvez utiliser l'application!"
        DoCmd.Close
        DoCmd.OpenForm "PRODUCTION"
            Else
            codeok = 0
            MsgBox "Entrez un code Valide SVP", vbCritical, "Mauvais code! "
            DoCmd.Quit
        End If
    End Sub

  7. #7
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    salut si tu te réfère à mon tutoriel dans la section de code sous :
    premier bout de code dans le menu général au Form Load
    tu trouvera ta réponse ... en fait tu doit intégrer la totalité du code et tes question seront répondu

    sous :
    Sur Événement click du bouton quitter de votre formulaire :
    ce code sert à compter le nombre d'utilisation total possible aussi ...

    sous :
    j'ai créer une fonction auto() dans un module séparer, appeler par une macro autoexec qui contient :
    ce code sert à insérer une date au premier démarrage et de s'y référer par la suite pour contrôler une date maximum selon des critères inscrit dans le code soit 15,30,60 jours depuis la première installation. Le code affiche aussi un message à tous les démarrage pour rappeller d'acheter la clé d'activation.
    Donc à vous de choisir si vous désirer instaurer un maximum de jour d'utilisation ou nombre maximum d'ouverture.

    et voila bon codage
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  8. #8
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut joindre la solution
    Salut robyseb
    Très bon travail
    Pourriez-vous joindre un exemple en ACCESS de votre solution. Excusez ma paresse.
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  9. #9
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    Merci pour votre commentaire toujour apprécié .. je n'ai pas créer d'exemple encore mais puisque vous le demandé je vais le faire et la posté

    à suivre
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  10. #10
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    Voici la base de test. N'hésitez pas à laisser vos commentaires. Merci !
    Fichiers attachés Fichiers attachés
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  11. #11
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Bonjour à tous

    Merci robyseb pour ton tuto

    Toutefois, dans ton post précédent, tu met un exemple mais malheureusement je ne peut pas le lire car je suis sous Access 2003.

    Y a-t-il moyen que tu face en sorte qu'elle soit lisible avec le 2003 STP

    Merci d'avance

  12. #12
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    Bonjour ! Malheureusement non tu devra te doter d'une version plus récente !
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  13. #13
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Pourquoi ne pas convertir ta base exemple au format 2000, par exemple ?
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  14. #14
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    J'ai la version 2003

    Citation Envoyé par robyseb Voir le message
    Bonjour ! Malheureusement non tu devra te doter d'une version plus récente !
    Citation Envoyé par Domi2 Voir le message
    Pourquoi ne pas convertir ta base exemple au format 2000, par exemple ?


    Il faut plus récent ou plus ancien ?????

  15. #15
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut Version 2002-2003 de la base test
    Rebonjour merci domi2 je n'y avait pas pensé voici le lien en version 2002-2003
    http://www.atelierspeedway.com/Exemp...n2002-2003.zip
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  16. #16
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Citation Envoyé par robyseb Voir le message
    Rebonjour merci domi2 je n'y avait pas pensé voici le lien en version 2002-2003
    http://www.atelierspeedway.com/Exemp...n2002-2003.zip
    Merci beaucoup

    Je vais regarder ca !!


  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    Bonjour à tous,

    je cherchais une toute autre information et suis tombé ici un peu par hazard ...

    Puisque j'ai galèré de mon côté à mettre en place quelque chose pour créer des clés d'activation, je viens apporter ma petite contribution !!

    Très grossièrement je fais les même vérif que robyseb au lancement de l'application.
    Par contre au lieu d'avoir une clé en dur dans l'appli et donc d'etre obligé de recompilé l'appli à chaque distribution je m'appuie sur deux autres données :
    - le numéro de série du disque sur lequel est installé l'appli : I1
    - l'adresse mac de la machine : I2

    => je mélange les deux => je fais un md5.
    et mon md5 sera ma clé d'activation !


    Pour obtenir la clé d'activation, depuis l'application j'ai un bouton "acheter la licence" qui va rediriger l'utilisateur vers un site web. Dans l'adresse web je passe en variables I1 et I2 mélangées.

    une fois que l'utilisateur paie (avec Paypal), mon algorithme remet I1 et I2 dans le bon ordre, calcul le md5 correspondant et l'envoie à l'utilisateur sur le mail qu'il aura renseigné !

    L'utilisateur rentre la clé d'activation (le md5) dans l'appli. L'appli va faire une vérifie avec les données systemes.

    = = = = = = = = = = = = = =
    Les PLUS :
    = = = = = = = = = = = = = =
    - pas de code en dur dans l'appli
    - une seule distribution pour n'importe quel nombre d'utilisateur
    - tout est autonome : l'utilisateur en achetant sa clé sur le net, l'auteur puisque c'est le site internet qui calcul la clé et l'envoie
    - l'utilisation en réseau ne fonctionne pas


    = = = = = = = = = = = = = =
    Les MOINS :
    = = = = = = = = = = = = = =
    - si l'utilisateur change de PC, la clé n'est plus valide
    - (s'il change juste 1 des composants DD ou carte réseau : on peut mettre en place une petite parade)


    Si vous avez des remarques et/ou des questions, n'hésitez pas !! =)

    [HS:on]
    Pour ma part je cherche à savoir si l'achat de la dite clé d'activation doit forcément donner lieu à l'établissement d'une facture ... :s
    Si qlq un a une info je suis preneur !!
    [HS:off]

  18. #18
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    Bonjour et merci de tes commmentaires !! je serai interessé à ce que tu rajoute une partie de l'algorythme dont tu parle pour que je puisse le rajouter à mon tutoriel.

    Comme tu a pu le constater j'avait écrit comme quoi les contribution sont toujours les bienvenues concernant les MD5 puisque je ne m'étais pas atardé à ce facteur pour l'instant.

    Pour ton problème tu pourrait rajouter un champ dans ta table admin si tu en possède une qui une fois ta base activé, cette case demeurerait à true. donc même si on change de DD ou autres ta base reste active.

    ou encore !! tu peut prévoir un champ qui garderait en mémoire le dernier numéros de DD et si la case qui dit que la base à déja été activé mais que les codes ne sont plus pareil tu écrit une fonction qui re-contacte ton site afin d'en faire une nouvelle automatiquement.....
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    dès que j'aurai un instant je ferai un exemple de base car il y a plusieurs modules à importer, donc mettre du code prendrait toute la page !!! =)

    Je n'aime pas ta solution de mettre un bool pour savoir si la base est active ou non !
    en effet, une fois que la clé d'activation est achetée, et que la base est activée, qu'est ce qui empecherait le mec de déposer sa base active sur un forum pour que tout le monde puisse l'utiliser (puisqu'elle est active de n'importe où) !!!!???

    c'est pour ça que je ne suis pas parti sur un bool, mais bien sur des vérifications faites à chaque démarrage de l'appli sur des données systèmes.

  20. #20
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    Biensur ! Trop Évident lolll Donc rajouter une clé registre au lieu d'un bool me serait le bonne solution ... mais avec le reste de se que j'ai dit ....
    ou encore !! tu peut prévoir un champ qui garderait en mémoire le dernier numéros de DD et si la case qui dit que la base à déja été activé mais que les codes ne sont plus pareil tu écrit une fonction qui re-contacte ton site afin d'en faire une nouvelle automatiquement.....
    Donc si la clé registre n'est plus présente la base se désactive

    voici un lien que j'ai trouvé rapidement ... je manque de temps

    http://www.developpez.net/forums/d20...base-registre/
    Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
    • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
    • Si votre Post est indiquez le....
    • Celuil là je devait le mettre ici ....hihi -->

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/02/2007, 14h16
  2. Réponses: 1
    Dernier message: 20/08/2006, 14h36
  3. Réponses: 0
    Dernier message: 11/05/2006, 09h19
  4. Réponses: 0
    Dernier message: 24/03/2006, 09h33
  5. Réponses: 0
    Dernier message: 17/10/2005, 09h05

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