[Resolu] Création d'un générateur de code aléatoire sans doublon

Création d'un générateur de code aléatoire sans doublon [Resolu] - Divers - Programmation

Marsh Posté le 11-12-2013 à 09:38:52    

Bonjour a tous,  :)  
 
Alors voila, pour commencer je vais faire simple : je n'y connais absolument rien en programmation. A la limite quelques fonctions un peu avancées sous Excel (pas VBA) mais c'est tout.
Donc il faudra m'expliquer lentement ^^
 
Je cherche donc a faire en sorte que plusieurs personnes puissent tirer au sort une autre personne (du meme groupe) sans que personne ne sache qui a tiré telle personne.  
 
Exemple :  
Pierre / Paul / Jacques / Henri / Jean => Le groupe de personne
Pierre tire un nom au hasard (Henri pour l'exemple), seul lui doit savoir qui.
Paul tire a son tour, il ne doit évidemment pas retomber sur Henri.
Etc jusqu’à ce que tout le monde ait un nom d'attribué.
 
Jusque la rien de bien compliqué si on le fait en face des personnes (quelques morceaux de papier en voila  :D ). Sauf qu'il faut que je le fasse par internet.
 
Comment arriver a faire cela ? Qu'importe le logiciel, qu'importe la façon de faire, le tout c'est que ca marche ^^
 
Merci d'avance a ceux qui m'aideront.

Message cité 1 fois
Message édité par nicolas46230 le 14-12-2013 à 09:46:26
Reply

Marsh Posté le 11-12-2013 à 09:38:52   

Reply

Marsh Posté le 11-12-2013 à 18:15:14    

c'est tout à fait faisable avec php, mysql, html, mais le problème c'est que ça demande des connaissances en programmation pour faire cela :(
 
si vraiment c'est un projet important sur lequel tu veux bien apprendre à programmer et passer énormément de temps, il faut installer un serveur wamp sur windows et apprendre en parti l'html, le php et mysql.
 
pour quelqu'un qui s'y connais déjà dans ces langages ça doit prendre 3 ou 4heure de programme un tel truc, alors ça risque d'être très long pour quelqu'un qui ne s'y connais pas.
 
a toi de voir!

Reply

Marsh Posté le 11-12-2013 à 22:05:27    

Sinon, sans programmation, il peut essayer de trouver une méthodologie utilisant des envois de mails.
 
Par, exemple :
1- on attribue une lettre connue de tous à chacun des participants : A, B, C, D, E.
2- puis on distribue des lettres secrètes : Z, X, Y, W, V.
3- et on associe chacune des lettres publique à une lettre secrète grâce au hasard.
 
Pour le mélange aléatoire (3) par pair, on peut utiliser : http://en.wikipedia.org/wiki/Ghost_Leg
Chacun propose de placer des barreaux où il veut, on synthétise le tout et on obtient le ghost leg complet.
 
Par-contre, je ne vois pas comment réaliser (2) : distribuer un ensemble de valeurs tout en gardant le secret de leur attribution sans qu'un intervenant externe, qui n'est pas participant, fasse la distribution.


Message édité par czh le 11-12-2013 à 22:37:01
Reply

Marsh Posté le 12-12-2013 à 08:48:13    

Merci à vous :)
 
C'est marrant comme un truc qui prend 2s avec quelques bouts de papier et un crayon dans la vraie vie est quasiment impossible derrière un écran ^^
 
Pour la programmation comme le dit nicobzz ca ne va pas être possible de le faire moi même, pas que ca ne m’intéresse pas (ça fait longtemps que j'aimerais savoir coder quelques bricoles) mais la faudrait me taper toutes les bases et pendant un bon moment comme tu le dis. Surtout que c'est assez pressé tout de même.
 
A la limite si une âme charitable se propose de le faire pour moi ^^
 
Mais czh m'a donné une excellente idée : prendre quelqu'un qui va choisir aléatoirement.
 
Pourquoi j'y ait pas pensé avant -_-

Reply

Marsh Posté le 12-12-2013 à 19:15:05    

Y'a sans doute un module mail facile à utiliser dans python ou un autre langage.
 
Si tu as les adresses des personnes en plus de leur nom, tu peux faire un programme qui envoie un mail à chacun avec le nom choisi


---------------
last.fm
Reply

Marsh Posté le 13-12-2013 à 08:40:20    

Bonne idée si c'est possible.
 
Tu saurais m'expliquer comment faire ?

Reply

Marsh Posté le 13-12-2013 à 20:15:55    

Moi-même, non, vu que je n'ai jamais regardé.
Mais la doc de python à ce sujet est assez facile à trouver, et sinon, tu peux toujours chercher des exemples déjà faits et partir de là pour générer tes mails à envoyer.


---------------
last.fm
Reply

Marsh Posté le 14-12-2013 à 02:47:14    

nicolas46230 a écrit :

Bonjour a tous,  :)  
 
Alors voila, pour commencer je vais faire simple : je n'y connais absolument rien en programmation. A la limite quelques fonctions un peu avancées sous Excel (pas VBA) mais c'est tout.
Donc il faudra m'expliquer lentement ^^
 
Je cherche donc a faire en sorte que plusieurs personnes puissent tirer au sort une autre personne (du meme groupe) sans que personne ne sache qui a tiré telle personne.  
 
Exemple :  
Pierre / Paul / Jacques / Henri / Jean => Le groupe de personne
Pierre tire un nom au hasard (Henri pour l'exemple), seul lui doit savoir qui.
Paul tire a son tour, il ne doit évidemment pas retomber sur Henri.
Etc jusqu’à ce que tout le monde ait un nom d'attribué.
 
Jusque la rien de bien compliqué si on le fait en face des personnes (quelques morceaux de papier en voila  :D ). Sauf qu'il faut que je le fasse par internet.
 
Comment arriver a faire cela ? Qu'importe le logiciel, qu'importe la façon de faire, le tout c'est que ca marche ^^
 
Merci d'avance a ceux qui m'aideront.


Sinon pour revenir a ca, ya une maniere tres simple sous Excel.
Tu mets tes noms dans la colonne A, tu fais une formule =rand() dans B1 puis tu l'etends au reste de la colonne B, puis tu tries le tout par la colonne B.
Et si tu as "etendu" ta formule en "glissant" le coin de B1, il suffit de reediter B1 et d'appuyer sur entree direct pour generer un nouvel ordre.


---------------
C'était vraiment très intéressant.
Reply

Marsh Posté le 14-12-2013 à 09:37:53    

Merci de ta réponse mais ça je sais le faire ^^
 
Le problème c'est que je ne dois pas être au courant des résultats. C'est ça la difficulté.
 
Mais je vais demander a une personne tierce de faire le tirage c'est la solution la plus facile.
 
Merci a tous.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed