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

Licences Discussion :

Même un projet/programme en GPL


Sujet :

Licences

  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut Même un projet/programme en GPL
    Bonsoir

    J'ai fait un petit programme ( http://troumad.org/OOo/perso.zip ) qui fait des personnages pour ADD1 et ADD2 (voir http://dnd.ezael.net ) je voudrais qu'il soit sous licence GPL. Où et comment mettre cette licence ?
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Tu as juste un entête à ajouter au début de chacun des fichiers que tu as créés.
    http://www.gnu.org/licenses/gpl.html#howto

    J'ai à nouveau jeté un coup d'oeil à ton programme, il y a encore des choses à améliorer, ça crashe pas mal (testé sous Win32 avec MinGW), mais ça m'intéresse un peu, je fais du Star Wars D6, le principe est le même.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Merci !

    Je viens de mettre la licence. C'est si simple que ça ?
    Je fais des tests et je n'ai pas de plantage moi ! Tu fais quoi pour arriver à faire planter le système ?

    Quant à start wars... J'ai du en faire une partie vers 1987/88 ! Je suis surtout médiaval fantastique avec un peu de Cthulhu parce qu'à l'époque, on n'avait pas beaucoup de choix dans les règles traduites en français

    Maintenant, je recommence l'ADD2 car mes enfants sont en âge de comprendre
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  4. #4
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Citation Envoyé par troumad Voir le message
    Je fais des tests et je n'ai pas de plantage moi ! Tu fais quoi pour arriver à faire planter le système ?
    En faisant un "Open", puis "Cancel" à la sélection de fichier, puis "Close", j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    warning: HEAP: Free Heap block ba14b0 modified at ba1618 after it was freed
    Mais cela n'a pas l'air systématique.

    Tu as aussi un warning au lancement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (gtk-rp.exe:2200): Gtk-CRITICAL **: gtk_box_pack: assertion `GTK_IS_WIDGET (child)' failed
    Il y a aussi des icônes qu'il n'arrive pas à trouver:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (gtk-rp.exe:2200): Gtk-WARNING **: Could not find the icon 'gtk-file'. The 'hicolor' theme
    was not found either, perhaps you need to install it.
    You can get a copy from:
            http://icon-theme.freedesktop.org/releases
    Et un crash systématique en cliquant sur le bouton "New".
    Fichier modif_caract.c, fonction modifier_caract, ligne 589:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(i=1;i<node->fils;i++)
    node vaut NULL...

    Citation Envoyé par troumad Voir le message
    Quant à start wars... J'ai du en faire une partie vers 1987/88 ! Je suis surtout médiaval fantastique avec un peu de Cthulhu parce qu'à l'époque, on n'avait pas beaucoup de choix dans les règles traduites en français

    Maintenant, je recommence l'ADD2 car mes enfants sont en âge de comprendre
    Je viens justement de finir un Lovecraft, l'affaire Charles Dexter Ward :-)
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  5. #5
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Ah, pour le crash, c'est parce que je n'avais pas copié le fichier "dieux.add" là où est généré l'exécutable. J'avais eu des warnings pour les icônes aussi.

    Le soucis c'est que je n'ai pas vu de projet pour compiler le programme, donc j'ai dû recréer quelque chose pour pouvoir le générer. J'ai utilisé CMake, qui m'a généré les makefiles nécessaires. Mais je viens juste de voir que tu avais intégré un fichier codeblocks, mais je ne connaissais pas ce type de fichiers. De toute façon mon environnement de build est limité à MinGW, je n'ai pas envie d'utiliser codeblocks, je m'adapterai avec CMake.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  6. #6
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Citation Envoyé par liberforce Voir le message
    Ah, pour le crash, c'est parce que je n'avais pas copié le fichier "dieux.add" là où est généré l'exécutable. J'avais eu des warnings pour les icônes aussi.
    J'ai oublié de mettre une sécurité à ce niveau !
    Je vais la travailler ce soir peut-être !

    Et le reste ?
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  7. #7
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Bin pour le reste, je ne sais pas. Mais il faudrait que je mette ton code sur un outil de gestion de version, pour tracer les modifications. J'ai un compte sur github.com, j'essaierai de l'héberger là bas.

    J'ai aussi l'intuition qu'il y a des problèmes dans tes fonctions de tirages de dés. Avoir des résultats non biaisés, c'est assez compliqué pour le néophyte, et il y a beaucoup de pièges.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  8. #8
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Pour les tirage de dès, j'ai simplement pris random... Il doit aussi y avoir des actuces avec l'horloge comme j'avais fait en javascript.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  9. #9
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    J'y ai repensé hier, et effectivement l'approche rand % 6 + 1 n'est pas neutre. rand % 6 biaise la comparaison.

    Déjà ta fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    unsigned short tirage_3D6(unsigned short des)
    {
        unsigned short t,i;
    
    
        t= rand() % des+3;
    
        for (i=1;i<3;i++)
        {
            t+=rand() % des;
        }
    
        return t;
    }
    pourrait être écrite plus simplement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    unsigned short tirage_3D6(unsigned short des)
    {
        unsigned short t = 0,i;
    
        for (i=0; i<3; i++)
        {
            t+=rand() % des + 1;
        }
    
        return t;
    }
    Ensuite, il n'y a a priori pas d'intérêt à spécifier le nombre de faces du dés dans la variable des si la fonction fait du tirage de D6, dont on connait déjà le nombre de faces.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    unsigned short tirage_3D6(void)
    {
        unsigned short t = 0,i;
        static const unsigned short face = 6;
    
        for (i=0; i<3; i++)
        {
            t += rand() % face + 1;
        }
    
        return t;
    }
    Le problème le plus compliqué vient ensuite de déterminer si l'expression rand() % face + 1 est réellement aléatoire, et à mon avis ça ne l'est pas... C'est d'ailleurs confirmé par la page de manuel de rand:

    In Numerical Recipes in C: The Art of Scientific Computing (William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling; New York: Cambridge University Press, 1992 (2nd ed., p. 277)), the following comments are made:

    "If you want to generate a random integer between 1 and 10, you should always do it by using high-order bits, as in

    j=1+(int) (10.0*rand()/(RAND_MAX+1.0));

    and never by anything resembling

    j=1+(rand() % 10);

    (which uses lower-order bits)."
    Tu trouveras plus d'infos dans cet article sur les nombres aléatoires en C et C++.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  10. #10
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Merci

    Pour le coup du dès 6..., il esy vrai que j'avais pensé à un système avec des dès quelconques au départ (le dès 6 étant trop banal).

    Après, pour le coup aléatoire, il est vrai que si le nombre de face du dès n'est pas un multiple de RAND_MAX, il y a une chance de plus d'être dans l'interval [0,RAND_MAX%des[ que dans [RAND_MAX%des,des[. Mais, une chance sur RAND_MAX/des => donc pas énorme, voir même négligeable.
    Ceci dit, j'avais déjà pensé à ce problème, mais je n'avais n'avais jamais cherché de solution.

    J'ai de petites améliorations à faire encore dans ce cas. Dèjà que j'en ai d'autres en tête. Mon travail que je considérais presque fini (en phase de test) est bien parti pour ressortir de la phase de test !

    Suite...
    Je viens de regarder l'article qui te à une remarque sur le système de génération que tu proposes. La solution que tu proposes a le même problème, mais les nombres qui apparaitront le plus seront réparties sur toute l'échelle. C'est pour ça que dans le texte que tu indiques, il y a un test pour que le nombre de tirage retenu soit un multiple de la taille de l'intervale.
    Toujours sur ce texte, il y a une erreur. au 4.1 du texte !
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  11. #11
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Citation Envoyé par troumad Voir le message
    Pour le coup du dès 6..., il esy vrai que j'avais pensé à un système avec des dès quelconques au départ (le dès 6 étant trop banal).
    Oui, mais en fait tu dois factoriser ton code. Tu as besoin d'une fonction qui prend en argument le nombre de faces de ton dé. C'est celle ci qui gèrera les questions d'aléas. Ensuite, une autre fonction qui prend en argument le nombre de dés et de faces, et qui réutilise ta fonction de base. Et à partir de cela tu peux faire toutes tes fonctions dérivées...

    Citation Envoyé par troumad Voir le message
    Après, pour le coup aléatoire, il est vrai que si le nombre de face du dès n'est pas un multiple de RAND_MAX, il y a une chance de plus d'être dans l'interval [0,RAND_MAX%des[ que dans [RAND_MAX%des,des[. Mais, une chance sur RAND_MAX/des => donc pas énorme, voir même négligeable.
    Oui, j'ai vu cela dans l'article que je t'ai passé en lien, et effectivement, comme l'erreur croit avec le nombre de faces du dé, elle reste très limitée. Je pense donc finalement aussi que ta méthode est acceptable.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Projet programmation: robotique
    Par beznito dans le forum Robotique
    Réponses: 9
    Dernier message: 11/01/2007, 08h52
  2. [Information] Projet sous license (GPL)
    Par TabrisLeFol dans le forum Langage
    Réponses: 9
    Dernier message: 11/10/2006, 13h14
  3. [Projet] Programmation modulaire d'un projet.
    Par loverdose dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 18/11/2005, 21h59
  4. Licence de programme [ GNU/GPL ]
    Par Neitsa dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 12/12/2003, 11h20

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