Comment programmer un tirage d'images au hasard ?

Comment programmer un tirage d'images au hasard ? - HTML/CSS - Programmation

Marsh Posté le 18-09-2015 à 16:05:00    

Bonjour,  
je previens niveau codage je suis trés novice, je m'y suis intéressé un peu mais je n'arrive à rien.  
 
J'ai un gros projet qui va voir le jour d'ici quelques semaines, ce projet est une competition online avec un site et un forum.  
 
Pour faire bref,  
Les meilleurs joueurs de ma competition auront des recompenses pour ameliorer leur équipe.  
Et afin que ce soit fun et realiste, je voudrais pouvoir leur faire tirer un PACK DE CARTES par eux meme.
 
Je m'explique ->  
Je voudrais qu'avec un simple bouton "LANCER" un pack de 5 images sortent au hasard.  
 
- Ces images il faudrait les héberger sur une base de donnée (il devrait y en avoir des centaines)  
- Il faudrait aussi que à chaque tirage je puisse enlever ou ajouter des nouvelles images afin que sur les prochains tirages, la personne ne tire pas une deuxieme fois les memes images (cartes).  
- Et pour finir je voudrais que le bouton LANCER ne fonctionne qu'UNE FOIS (ou + si je change la valeur) par adresse IP. Afin que la personne ne retente pas plusieurs fois son tirage au sort.  
 
Pensez vous que c'est possible ? voici un exemple d'un site qui fait a peu pres cela : http://www.futhead.com/packs/open/?pack=fhpack  
Il arrive à faire un tirage au sort parmis toutes les cartes possedées dans sa base de données.  
 
Je suis carrement pret à payer une petite somme si quelqu'un arrive à me coder tout ca :) Je le remercierait enormement !

Reply

Marsh Posté le 18-09-2015 à 16:05:00   

Reply

Marsh Posté le 21-09-2015 à 17:36:24    

UP

Reply

Marsh Posté le 22-09-2015 à 14:32:59    

C'est possible mais il faut un programme qui tourne du côté du serveur pour préparer la page qui sera envoyée à l'internaute.
Concrètement, le programme sera donc écrit soit en PHP, soit en Java, et non pas seulement en HTML et Javascript.
 
Le Javascript a une fonction qui fait du hasard, mais le Javascript tourne sur le poste de l'internaute, donc le hasard se fait parmi les données (en l'occurrence des images, donc qui ont un assez grand nombre d'octets) qui ont été envoyées préalablement au poste de l'internaute. Donc, on ne peut pas faire un hasard parmi beaucoup de grosses images parce que cela nécessiterait un envoi assez volumineux au départ (au moment de l'affichage de la page).
 
On pourrait combiner Javascript et Ajax, mais Ajax fonctionne avec deux parties : une sur le poste de l'internaute, et une sur le serveur.
Bref, il faut du PHP ou du Java, que l'on utilise Ajax ou non. Programmer dans l'un de ces deux langages n'est pas un gros obstacle, sauf peut-être si vous ne connaissez pas ces langages, et si vous n'avez pas un hébergeur qui permet de les utiliser.
 
Je ne sais pas si vous comprenez ce que je veux dire, et si mes explications vous suffisent, sinon je peux entrer plus dans les détails.

Reply

Marsh Posté le 23-09-2015 à 16:00:49    

merci beaucoup olivthill pour l'information.
 
J'ai reflechi ces derniers jours et mon idée c'etait donc de
- stocker lees images sur un hebergeur specialisé
- Mettre en place un espace gestion où chaque personnes qui veut tirer au sort doit inscrire son pseudo ce qui permettra de savoir l'heure à laquelle le pseudo à fait son tirage au sort (avec une limite de tirage au sort donnée, par rapport au nom du pseudo)
 
- Mettre en place un espace gestion des tirages ou je pourrais ajouter les images qui peuvent etre tirés au sort, ainsi qu'en supprimer. (Le mieux serait que les cartes tirés au sort se suppriment automatiquement pour ne plus sortir, mais ca doit etre compliqué a realiser)
 
Bref pour ce travail je paye entre 20 et 50 euros si quelqu'un est capable de le faire ;)

Reply

Marsh Posté le 27-09-2015 à 23:04:28    

? je suis pret à payer 30 euros, ya personnes ?

Reply

Marsh Posté le 29-09-2015 à 11:11:17    

Ce n'est plus une question de programmation mais une offre d'emploi dans ce cas : tu peux demander à ce que ton topic soit transféré dans la bonne catégorie.
Par contre à 20, 30 ou même 50€ c'est pas gagné...


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 29-09-2015 à 17:13:34    

TotalRecall a écrit :

Ce n'est plus une question de programmation mais une offre d'emploi dans ce cas : tu peux demander à ce que ton topic soit transféré dans la bonne catégorie.
Par contre à 20, 30 ou même 50€ c'est pas gagné...


à 50€ de l'heure, peut-être  :o


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 29-09-2015 à 17:38:20    

olivthill a écrit :

C'est possible mais il faut un programme qui tourne du côté du serveur pour préparer la page qui sera envoyée à l'internaute.
Concrètement, le programme sera donc écrit soit en PHP, soit en Java, et non pas seulement en HTML et Javascript.
 
Le Javascript a une fonction qui fait du hasard, mais le Javascript tourne sur le poste de l'internaute, donc le hasard se fait parmi les données (en l'occurrence des images, donc qui ont un assez grand nombre d'octets) qui ont été envoyées préalablement au poste de l'internaute. Donc, on ne peut pas faire un hasard parmi beaucoup de grosses images parce que cela nécessiterait un envoi assez volumineux au départ (au moment de l'affichage de la page).
 
On pourrait combiner Javascript et Ajax, mais Ajax fonctionne avec deux parties : une sur le poste de l'internaute, et une sur le serveur.
Bref, il faut du PHP ou du Java, que l'on utilise Ajax ou non. Programmer dans l'un de ces deux langages n'est pas un gros obstacle, sauf peut-être si vous ne connaissez pas ces langages, et si vous n'avez pas un hébergeur qui permet de les utiliser.
 
Je ne sais pas si vous comprenez ce que je veux dire, et si mes explications vous suffisent, sinon je peux entrer plus dans les détails.


Il y aurait une solution pour se passer d'un langage côté serveur (même si ça serait quand même plutôt comme ça qu'il vaudrait mieux faire) avec que du javascript. Rien n'empêche d'avoir un Array qui contiendrait les chemins des images possibles (ou des données permettant de faire le lien entre "l'ID" de l'image et son chemin de stockage chez l'hébergeur), l'algo en sélectionne plusieurs, convertit si besoin les données sélectionnées en url d'images et les affiches via des balises <img />. L'inconvénient est le temps de chargement de la page si le Array est très volumineux. Par contre, pas besoin de charger toutes les images elles-mêmes ;)
 
Mais on est d'accord, un langage côté serveur + une BD serait plus adapté (mais aussi plus complexe à mettre en oeuvre).
 
Edit : et je ne relancerai pas le débat pour ou contre les images stockées en BD ou sur le HDD (avec le chemin dans la BD)  :whistle:


Message édité par rufo le 29-09-2015 à 17:39:12

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 29-09-2015 à 23:46:45    

merci d'y reflechir,  
 
je suis conscient que le cout de ce travail pourrait etre trés elevé, un professionnel m'a demandé 190 euros .
 
Ce n'est pas dans mes moyens et dans les moyens de ma communauté pour le moment.
 
Donc je dois trouver un PLAN B pour le commencement de ma competition !
 
Mon plan B serait d'abandonner les images...
Et de les remplacer par des données écrites !
Exemple : à la place de voir une carte on pourrait avoir juste le nom du joueur avec la performance et la couleur de la carte.
 
Exemple :
 
Vous avez tiré au sort :
- Cristiano Ronaldo | Carte Or | 93  
 
 
Cela serait il simple à faire ?


Message édité par xmaliziax le 30-09-2015 à 00:01:20
Reply

Marsh Posté le 30-09-2015 à 09:27:52    

Ca ne change rien à ton pb d'avoir des données écrites ou des images :/ L'algorithme reste le même, l'architecture du logiciel aussi. Comme je l'expliquais dans mon précédent post, l'url de chaque image peut être représentée dans un array javascript par un id (ie une clé) et l'algo va sélectionner des id en fonctions des critères que tu auras définis. Après, pour l'affichage, tu auras besoin d'une fonction qui "traduit" l'id en url d'image, ces url étant affichées par des balises <img />.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 30-09-2015 à 09:27:52   

Reply

Marsh Posté le 01-10-2015 à 00:50:03    

D'accord :/ et est ce que en apprenant à coder on peut reussir à faire ceci (avec un peu d'aide) ?
ou il faut vraiment avoir beaucoup d'expérience selon toi ?

Reply

Marsh Posté le 01-10-2015 à 09:08:49    

Tant que tu veux que les tirages soient uniques par ip ou participant et pouvoir gérer des listes sans doublon d'un tirage à l'autre il te faut au minimum
- Une partie client : HTML, javascript (jquery ou autre)
- Une partie serveur : base de données (ou à la limite des fichiers XML / textes pour éviter la BdD mais c'est pas terrible) + un langage serveur (PHP, .Net, autre)
Ca fait pas mal de technos différentes à maitriser, donc si tu ne t'y connais pas, tout seul à moins de trouver un truc tout fait (???), rien que pour apprendre les bases ces technos t'en as pour un bout de temps....

 

Par contre le projet est simple, n'importe qui en deuxieme année d'une formation professionnalisante sur le développement peut te le faire. Trouve un étudiant motivé, mais comme on te disait à 30 ou 50€ tu peux définitivement oublier.


Message édité par TotalRecall le 01-10-2015 à 09:10:15

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Sujets relatifs:

Leave a Replay

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