Suite à une discussion avec Burnside, nous avons crée un système de vote en flash avec sauvegarde des votes via PHP et base de données MySql
Plusieurs instances de vote peuvent se trouver dans une même animation
Plusieurs instances peuvent se trouver dans divers animations pointant sur le même élément de vote (dans la base de données)
Vote unique -> mémorisation du vote dans un sharedObject pour limiter les votes multiples. (cette option est débrayable pour tester...)
Affichage de la moyenne des votes et du nombre total de votes.
Possibilité de plusieurs choix de design pour les 'boutons' de vote.
Possibilité de choisir une couleur précise pour la barre de moyenne, bien que a chaque design est déjà affecté une couleur pour la barre de moyenne.
Possibilité de créer ses propres modèles de boutons (source facilement adaptable au niveau graphisme)
Tous les fichiers nécessaires sont dans la source
Voir ci-dessous pour l?installation du système.
Pas de swf dans la source vu qu'elle nécessite php et une table MySql, ce n'est pas testable sans installation
-> possibilité de le voir en action sur
http://www.flashforum-oi.info/viewtopic.php?t=1024
Source / Exemple :
// importer la classe nécessaire
import voteSystem
// création de d'un objet voteSystem
var vote0:voteSystem=new voteSystem(this,0,"square",0x00ff66)
// this représente le clip ou le systeme de vote va être crée
// 0 Nombre entier qui représente l'identifiant unique du vote (-> sert dans le php / la base de données)
// n'utilisez jamais deux fois le même identifiant sinon les votes seront additionnés
// les deux parametres suivants sont optionnels :
// "square" représente le design des boutons
// choix entre "circle","square","heart" et "custom" -> étoile=valeur par défaut)
// 0x00ff66 représente la valeur hexadécimale de la couleur souhaitée pour la barre de moyenne
// positionnement
vote0._x=50
vote0._y=50
Conclusion :
--------------------------------
SYSTEME DE VOTE - INSTALLATION
--------------------------------
créer une base de données ou utiliser une base existante
créer la table d'enregistrement des votes à l'aide du fichier
>> MySql_create-Table.txt
Modifier le fichier dbParams avec les valeurs exactes de login password base...
placer sur le serveur les deux fichiers (dans le même répertoire que le swf)
>> Votes.php
>> dbParams.php
ouvrir le voteSystem.fla
Ne pas oublier de placer le fichier voteSystem.as dans le même répertoire que le fla
voteSystem.as contient la classe qui
- pilote le système de vote
- fait la connexion avec php
- enregistre les votes dans un sharedObject pour empêcher les votes multiples
Pour plus d'information, voir les commentaires dans le fla
C'est parfait comme source.
Maintenant, comme je ne maitrise pas bien la fonction sharedObject, je me demandais ce qu'il faudrait ajouter comme code pour que par exemple, le cookie ne soit valide qu'un jour ?
Encore bravo et merci d'avance.
Leonweb
Excellent travail !
Facile à mettre en œuvre en plus.
Par contre, j'ai deux petites questions (attention, je n'y connais pas grand chose en Flash, en php un peu plus donc ces questions vous sembleront peut-être naïves si vous êtes un "dieu" du sujet):
Q1 - l'ID du vote est directement dans asvotesystem.swf (et par conséquent évidemment dans asvotesystem.fla qui permet de le générer). Ce qui fait que si on veut mettre plusieurs votes différents sur un site, il faut compiler plusieurs swf avec des id différents. Ne serait-il pas possible et envisageable que cet ID ne soit pas intégré dans le fla mais dans autre chose (par exemple fichier texte ou fichier ini). Ainsi, plutôt que de recompiler à chaque fois le swf avec un nouvel id pour chaque system de vote que l'on voudrait mettre en place, ce soit dans votes.php par exemple qu'on aille chercher cet id (à partir du fichier texte ou ini ou autre solution si vous avez mieux en tête ??). Cette idée nécessitera peut-être de faire une grosse révolution sur le script, auquel cas... il faudra l'oublier... mais si c'est simple à mettre en oeuvre, ne peut-on pas l'envisager ??
Q2 - Je n'ai pas trop compris comment était mémorisé le vote sur un poste (le contenu de votesystem.as n'est pas clair tant que je n'aurais pas fait des progrès en flash :-( ). A l'utilisation, je constate que lorsque qu'on impose une mémorisation du vote (ce que je veux faire de toute façon), celui reste bien mémorisé mais lorsque je vide le cache du browser et les cookies, il reste toujours mémorisé sur une machine... alors je voudrais savoir quel critère faisait cette mémorisation ?? Moi ce que j'aurais voulu mettre en place, c'est sur un site avec authentification, mémorisé qu'un user a déjà voté et ne pas lui re-proposer de voter quand il se connecte ailleurs... j'arrive bien à stocker (en modifiant votes.php et la base SQL) les login qui ont voté, mais je ne sais pas comment modifier votesystem.as pour prendre en compte ça même si j'ai bien vu quelles fonctions y faisaient la mémorisation... mais je n'ai pas encore trop compris leur fonctionnement... sinon je vous aurais évité la question :-) !!)
Merci à celles et ceux qui auront la gentillesse de se pencher quelques instant sur mes questions.
Bonne journée !
Hendrix
Effectivement, l'idée d'en faire un composant n'est pas mauvaise, çà simplifierait encore le paramétrage.
Je l'ai pas encore testé (de créer un composant) mais je vais me pencher sur la question !
Girou
du grand délire je trouve.
Sinon juste un p'tit truc, dans votre class je vois que vous utiliser des objet graphique. Vous devriez plutot faire un composant tt qu'a faire...
sinon la class à l'aire plutot proprete, docn good les gars bonne continuation
_benjy
FlashCS3 ca déchire
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.