begin process at 2012 05 26 08:08:24
  Trouver un code source :
 
dans
 

16 commentaire(s) de aKheNathOn sur des sources sur flashkod

Déposé sur Simple classe pour récupérer les résultats d'une requete sql

Manu je ne pense pas que tu vois vraiment où je veux en venir... tu cherches à écrire du SQL dans ton flash et c'est là tout le problème, et cela ne se limite pas à la sécurité.

* Flash = exécution côté client = présentation (principe MVC)
* PHP = exécution côté serveur = modèle / contrôleur

Pour faire simple, t'as pas trop le choix ... aucun framework ne permettrait d'embarquer la logique métier et le mapping côté client.

De plus, tu fais aujourd'hui du flash ... OK
Demain tu veux faire un petit soft en .NET en client lourd ... tu refais toutes les requêtes ?

La partie IHM (=côte client) est la partie la plus évolutive et la plus sujette aux évolutions techniques ... embarquer la logique métier ne servirais qu'à l'alourdir voire même t'obliger à la faire évoluer ou la ré-écrire en changeant de techno.

Maintenant côté code, rien ne t'empêche de faire la même chose que t'as fait style mysql.remplir(...); en version plus propre :

Ton service PHP retourne un array de valeurs, il est exposé style : http://domaine/services/MyService/GetItems.xml
(par exemple : le .xml indique qu'on attend du XML)

Ton SDK côté flash aurait un truc du style :
conn = SDK.Connect("http://domaine/");

Coté classes AS tu aurait une class de mapping :

class MyService {
  ... conn;
  public MyService(conn) ...    
  ArrayList GetItems() {
    return conn.Request("MyService", "GetItems");
  }
}

Tu peux faire :
service = new MyService(conn);
ArrayList items = service.GetItems();

Ou bien tu te fais un helper pour reproduire ta fonction :
Helper.Assign(service.GetItems(), this);

C'est très schématique, mais cela te montre que plus tu as de niveaux d'abstractions et plus tu as moins à travailler.

Concernant l'attaque sur ton domaine : www.as-ql.org, tu dois t'assurer que l'attaque ne vient pas de l'intérieur.

Je te donne quelques exemples : tu fais un logiciel de facturation en flash, tu ne peux pas le proposer en SaaS (ou imagines sinon que les concurrents vont aller s'espionner entre eux).

Tu fais un logiciel collaboratif là encore tu peux pas, du moment où les utilisateurs n'ont pas tous les mêmes droits ou des droits restreints ta librairie n'est pas utilisable ...

Tu fais un jeu dans lequel les gens peuvent y inscrire leur score, tu fais un formulaire de d'inscription à une newsletter, un formulaire de vote ...etc...

Tu peux faire un très joli truc, fais les couches que j'ai décrit dans mon précédent message et puis rajoutes unes couche RAD comme tu l'as déjà fait pour ton framework ...

Bon courage pour la suite de tes dévs :)
Posté le : 11/04/2011 19:28:45

Déposé sur Menu simple style iphone

:)) c'est une version 0.0.0.0.1 ! je suis d'accord avec l'indulgence mais bon c'est vrai que cette source n'a pas vraiment d'utilité, faire un scrolling horizontal y'à aucun intérêt à le partager ...

sois un peu plus perfectionniste, bosses 1 mois s'il le faut mais abouttit à un résultat que tu seras fier de présenter, à une époque sur CS dès que tu publiais un code de calculette (avec un algo pourtant) il se fesait directement éjecter ...
Posté le : 11/04/2011 14:56:18

Déposé sur Simple classe pour récupérer les résultats d'une requete sql

Hello Manu,

J'ai bossé sur quelque chose de très similaire (publié sur flashkod : http://www.flashkod.com/codes/CLASSE-LIAISON-REQUETTAGE-AVEC-SERVEUR-MYSQL-DISTANT-XSQL_38305.aspx) mais avec la notion de sécurité en moins compliqué, mais avec les mêmes failles qu'a relevé Peg.

Je pense comprendre un peu vos deux problématiques, et peut-être qu'un peu de retour sur mon expérience va t'éclairer.

A première vue Peg à l'air de chercher la petite bête mais en réalité il a tout à fait raison, c'est juste qu'il ne l'exprime pas assez clairement :

Je voulais faire du SQL dans du flash, comme j'aurais très bien pu le faire en ajax / javascript. Le problème peut ne pas se poser à première vue car l'utilisateur exécutant le code est identifié, donc un guest ne peut pas nuire.

Le problème se pose à deux niveaux :

- l'utilisateur connecté peut lui avoir plus de droits qu'il ne devrait ... mais étant faignant de ce côté je m'en fout du moment où ça m'aide (j'estime qu'être faignant en informatique est une qualité au passage :)

- autre problème c'est la logique métier et la ré-utilisabilité et c'est là que le bat blesse :)

Etant faignant je ne voulais pas avoir à écrire le SQL à chaque fois, répéter des règles métier complexes, ou bien en changeant la structure repasser par des kilomètres de code.

Du coup quand tu deal avec des bases de données, la bonne pratique veut que tu en fasses des objets. Le choix de l'environnement où tu fais ton objet est important, on pourrait être tenté de le faire en flash (avec tous les problèmes que ça pose au niveau sécurité) ou bien le faire côté PHP, permettant ainsi de partager les ressources côté ajax, flash, ou bien un MVC classique avec des vues en HTML.

Donc pour répondre à ta source, tu as raison sur le fond, mais tu t'y prends de la mauvaise manière.

Ce que t'aurais dû chercher à faire :

Une partie API :
- c'est d'intégrer un ORM, avec un DBAL
- faire des helpers pour la sérialisation : XML, JSON, CSV ...
- un équivalent de ton data.php pour le routage des appels en mode REST, et utilisant les helpers pour exprimer les retours
- un mode session ou quelquechose d'équivalent permettant de sécuriser l'appel de certains services

Une partie SDK :

- des classes de base pour les autres languages
* Flash
* Javascript
- éventuellement si tu est motivé, à partir d'une classe PHP tu peux générer l'enveloppe AS ou JS te permettant de ne pas perdre du temps sur une seconde re-définition (cf PHP+Reflection).

Dans le principe ça serait un peu similaire à ça : http://www.phpcs.com/codes/AJAX-TOOLKIT-PARTAGE-CLASSES-ENTRE-PHP-JS_47075.aspx

------

Lorque t'enchaines sur la création d'un nouveau projet avec ton framework, tu fais côté PHP tes classes qui gèrent la base de données, et puis tu inclues dans ton flash les enablers AS qui leur correspondent.

Le tout sera : optimisé, sécurisé, simple, ré-utilisable, évolutif

Bon courage, si tu ponds un projet comme ça n'hésites pas à me prévenir :))
akh



Posté le : 11/04/2011 12:36:33

Déposé sur Kill them all - 3d maze / ray casting game

Sur le mois d'aout et septembre j'aurais pas du tout le temps de reprendre le projet, donc il va stagner un peu. Je suis carément d'accord avec toutes vos remarques, et même hors cadre du concours je vais avancer un peu sur le jeu dont le point de départ me plait toujours autant.

Encore merci pour toutes vos remarques hyper constructives :)
Posté le : 08/08/2008 13:53:10

Déposé sur Kill them all - 3d maze / ray casting game

Vu le peu de temps donné on va pas refaire un moteur 3d - à mon avis l'utilisation de librairies est autorisée sinon je ne vois pas l'interet de programmer en réinventant la roue à chaque fois. Dans la régle 4 ils n'interdisent pas la réutilisation du code d'un autre. J'imagine qu'au niveau ressources graphiques et sonores ça doit être la même chose car moi perso je n'ai pas l'ame d'un artiste - et je pense que l'ergonomie compte quasiment tout autant que le jeu (sinon même plus).

D'ailleurs si on regarde les critéres, l'ergonomie compte en partie dans : La créativité, La beauté, Appréciation générale donc ça me semble assez important.

Est-ce qu'un admin pourrait confirmer que c'est ok pour la reprise des sources d'un autre et dans quelle limite.
Posté le : 03/07/2008 18:47:04

Déposé sur Kill them all - 3d maze / ray casting game

Un grand MERCI à tous pour vos remarques hyper constructives.

Les sources sont sur http://www.webframe.fr/KillThemAll.zip comme expliqué dans la zone Source. EBArtSoft je t'enverrais une demande pour me permettre de les publier quand le jeu sera plus aboutit (j'attends de finir au moins les ennemis) mais entre temps si vous être curieux de voir la tête du code vous pouvez le télécharger sur le lien indiqué, j'y ai tout mis, mêmes les ressources utilisées.

raddreamer > Yep, effectivement bug sur l'uzi - c'est le movement de l'arme avec le déplacement du corp qui est cencé rendre plus réaliste le déplacement. C'est juste une erreur de calibrage, je le mettrais à jour. Pour la partie bords de l'écran c'est pour faire un déplacement latéral avec la souris comme l'indique pegase31. Je pense qu'il faudrait l'inhiber si le personnage est entrain de tirer, et améliorer un peu plus le mouvement de rotation en fonction de la souris - effectivement je ne veut pas que ce soit juste un viseur.

pegase31 > En ce qui concerne la source d'origine je m'en sert de moteur de rendu, vu que pour les murs y'avais déjà les images je les ai gardé, parcontre y'à pas mal d'évolutions surtout concernant le terrain (map du level) et la petite map sur le côté gauche - je ne vais pas tout réécrire mais il sera certainement pas mal modifié pour la partie portes / ennemis et objets. (Sinon effectivement aucun intérêt de participer au concours avec la source d'un autre)

Concernant l'éditeur de map du créateur je ne l'ai pas, c'est une vielle version que j'ai utilisé (lol j'ai manqué mon coup / pas vérifié s'il y avais d'updates). J'ai dû redévelopper un système de map à partir d'un BMP - je vais essayer de l'améliorer mais au dernier moment - j'ai envie de faire mon propre editeur en VB.NET avec un aperçu en temps réel du terrain géneré.

Encore merci pour vos conseils !
Posté le : 03/07/2008 13:44:43

Déposé sur [f8] effet néon modulable

essayes ça :

var Musique = new Sound(_root.MusiqueMc);
Musique.loadSound("...", false);
Musique.onSoundComplete = function () {
// LECTURE EN BOUCLE
_root.Musique.start();
}
Musique.onLoad = function(success) {
if (success) {
_root.Musique.start();
}
}
Posté le : 06/03/2006 06:49:51

Déposé sur Animation sur du texte - theme de l'amour

>> ON_DRAG_ON : tu oublie le 1% qui répondent aprés et qui sont concernés par la source (ma femme) lol.

>> 009 : Merci, mais tu sais tes anims sur flash sont trés bien aussi. Celle du petit clown est assez marrante, je ne saurais que trop te conseiller de la publier si tu retrouves les sources ;)...

>> BlackNight : Sur le site de macromedia la version 2004 est en téléchargement, tu peux la chopper pour convertir toi-même le fichier, sinon tu peux trouver un cr**k sur emu** ...

Bonne prog à tous, akh
Posté le : 14/11/2005 13:39:28

Déposé sur Animation molécules, avec : duplication simple -> destruction...

lol Peg, pas mal l'explication, 90% de ce que tu as dit je le conaissais pas. C ça le désavantage d'apprendre en regardant des codes ... le risque étant d'apprendre des mauvaises méthodes, et de les reproduire.

Pour ma part Clip1/Clip2/Clip3._x=200 ça me va. Est-ce que je peux écrire ça :

for (i=0; i<10; i++) {
  ("clip" + i)._x += 1;
}

par exemple ...
Posté le : 15/06/2005 20:33:22

Déposé sur Animation molécules, avec : duplication simple -> destruction...

je suis celui concerné par ce message, et faut mettre de coté sa soi dissons fierté. Je suis d'accord avec pagase, si c'est fonction est vieille et non optimisée elle ne devrais pas être utilisée.

Comme je l'ait dit, je débute, et je ne le savais pas. J'ai un mélange entre les vieilles sources et les nouvelles, donc j'ai pas essayé de calculer.

Elle m'arrange bien car quand je crée des objets dynamiques je peux aisement les manipuler. L'alternative est d'utiliser des tableaux qui répértorient ces objets style _root["obj"+variable] ou bien this["obj"+variable] ...

Si on y réfléchit, pour atteindre un objet et une valeur c'est mieux d'utilise le pointeur de la variable à la place d'une fonction (en principe ça risque d'être au moins 2 fois moins rapide).

Avec la fonction :
pile d'appel -> fonction -> Pointeur vers objet -> Propriétée

Avec le pointeur directement :
Pointeur vers objet -> Propriétée

Je sais pas, je me gourre peut être en tout cas une chose est sûr, ça va pas être visible sur les ticks machine pour un simple appel, mais pour des animations ça risque de faire perdre quelques Milli-secondes.

Ainsi pegase -> motion adaptée :)
Posté le : 15/06/2005 19:12:58

1 2


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales