JeuWeb - Crée ton jeu par navigateur
[Seelies - Sources] Ouverture du code source - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Seelies - Sources] Ouverture du code source (/showthread.php?tid=49)

Pages : 1 2 3


[Seelies - Sources] Ouverture du code source - Sephi-Chan - 26-03-2008

Salut à tous,

J'ai décidé de lever le voile sur le code sources de Seelies en les écrivant au fur et à mesure (quand je juge qu'elles sont prêtes à y figurer) sur le Wiki, sur la page Seelies - Sources de la page scripts.

J'attends vos réactions, questions, commentaires, et tout, et tout sur ce post.


Sephi-Chan


RE: [Seelies - Sources] Ouverture du code source - naholyr - 26-03-2008

Le mieux dans une démarche open-source c'est de carrément ouvrir un SVN et de laisser un accès public en lecture Wink

Sinon je pense que c'est un excellent choix, la sécurité y gagne, et ça donne une espèce de "gage de qualité" je trouve. Bien sûr il y a toujours la peur de voir fleurir les "clones", mais sachant que le coeur du jeu c'est quand-même les données et la configuration (les scripts d'IA par exemple peuvent ne pas être inclus...), le risque reste faible.


RE: [Seelies - Sources] Ouverture du code source - Sephi-Chan - 27-03-2008

Je ne veux pas installer un serveur Subversion sur le serveur actuel, je pense en demander déjà assez à mon ami (je suis sur un espace censé être mutualisé, et je lui ai demandé pas mal de petits trucs). Je le ferais peut-être plus tard. Smile

J'espère effectivement gagner en sécurité, si les gens commentent et font des suggestions.

Concernant le clonage, si j'en vois un qui se rapproche un peu trop de mon concept, je lui fais cracher ses sources et s'il se révèle être un plagieur, je l'invite à arrêter et je vais plus loin si ça ne lui convient pas. Et puis de toute manière, un type qui plagie n'aura pas les idées de nouveautés et d'extension, donc au final il ne sera qu'une pâle copie (mais même ça, j'en veux pas).


Sephi-Chan


RE: [Seelies - Sources] Ouverture du code source - naholyr - 27-03-2008

C'est un peu ce que j'avais prévu de faire : à la version stable X.Y, les sources de la X.Y-1 sont publiées.

Et mon SVN serait organisé ainsi :
Code :
- trunk/ <-- version 1.3 en cours de dev (fermé)
- tags/ <-- versions "freezés" (ouvert en lecture)
  - 1.0/ <-- ouvert en lecture
  - 1.1/ <-- ouvert en lecture
  - 1.2/ <-- fermé, sera ouvert au freeze de la 1.3
Ça permet d'apporter un socle technique au concept de "je publie mes sources, mais avec un temps de retard volontaire" Wink


C'est juste une idée comme ça Big Grin

Note : je vais bientôt me reprendre un Dedibox, si tu le souhaites on pourra partager l'espace.


RE: [Seelies - Sources] Ouverture du code source - Sephi-Chan - 27-03-2008

Ce serait un plaisir, je n'ai jamais eu affaire à Subversion et je ne demande qu'à ajouter des cordes à mon arc. Smile

Personne n'a de commentaire à faire sur le code ? Ou bien personne ne veut le lire. :triste:


Sephi-Chan


RE: [Seelies - Sources] Ouverture du code source - pascal - 27-03-2008

yo,

mes remarques :
_ tu charges des données dans des tableaux. est-ce un choix de conception ? pourquoi ça à la place d'un tableau d'objets ?
_ charger tous les vols, sans critères ni limites, est-ce raisonnable ?
_ où sont les tests unitaires ? Tongue

A+

Pascal


RE: [Seelies - Sources] Ouverture du code source - Sephi-Chan - 27-03-2008

Coucou Pascal,
  1. J'utilise des tableaux associatifs parce que ça me convient bien. Tu penses qu'utiliser un tableau d'objet (notions que je ne comprends pas, d'ailleurs) pourrait m'apporter davantage ?
  2. Tu as raison, je vais ajouter des arguments de filtrage.
  3. Si tu es d'accord pour me montrer comment les faire (pour une méthode ou deux), je serais ravis d'en faire. Smile

Je débute un peu en POO, c'est pour ça que ce genre de commentaire m'aide beaucoup, car il ne peut que m'aider à m'enrichir sur ce point là.


Sephi-Chan


RE: [Seelies - Sources] Ouverture du code source - Zamentur - 27-03-2008

allez je commence
donc dans la methode join() on a
Code PHP :
<?php 
foreach($this->members as $member){
if(
in_array($sign, $member['sign'])){
throw new
Exception('An error occurred. A Matriarch of this sign is already in the Flight.');
break;
}
}
le hic c'est que rien ne dis (enfin je ne crois pas) que la propriété members a été remplie.
Pour qu'elle l'ai été il faut executé la methode getMembers()...
Enfin si j'ai bien compris le fonctionnement

Du coup ton exception ne sera jamais lancé puisqu'arrivé au foreach on passera direct à la suite

Donc évidement tu peux conciderer que quand on utilise join getMembers doit etre lancé avant, mais c'est pas génial, surtout si il n'y a rien pour gerer le problème en cas d'oublis...


Voilà ce que j'ai cru entrapercevoir au Vol...


EDIT:
Sephi-Chan a écrit :[list=3]
[*]Si tu es d'accord pour me montrer comment les faire (pour une méthode ou deux), je serais ravis d'en faire. Smile
[/list]

Je débute un peu en POO, c'est pour ça que ce genre de commentaire m'aide beaucoup, car il ne peut que m'aider à m'enrichir sur ce point là.
Normalement les tests unitaires s'ecrivent avant, histoire de bien cerifier comment çà doit fonctionner. En tout cas c'est ce que je sais en tant que debutant en POO aussi.
Donc un test unitaire finalement c'est juste un cas d'utilisation de la classe, le but etant de faire des tests qui quadrillent un maximum de possibilité, et ainsi de verifier que tout se passe comme prévue.
Je pense d'ailleur qu'il faut chercher un peu à les pousser à l'extreme(parametre faux etc...) pour verifier la robustesse de la classe, car après il est toujours possible de faire une erreur en utilisant la classe et il faut pouvoir le detecter.


RE: [Seelies - Sources] Ouverture du code source - Sephi-Chan - 27-03-2008

Flight::join() nécessite effectivement la liste des membres, j'ai donc modifié la classe pour qu'elle lance Flight::getMembers() si la liste des membres n'existe pas encore.

Je pense ajouter des paramètres de filtrage aux méthodes qui renvoient des tableaux potentiellement gros.

Concernant les classes de tests unitaires, je ne les ai pas fais avant car je n'envisageais pas d'en faire, tout simplement, j'essaye de me concentrer sur l'essentiel. Mais après coup ça peut être intéressant d'en faire. À voir. Smile


Sephi-Chan


RE: [Seelies - Sources] Ouverture du code source - keke - 27-03-2008

Sephi-Chan a écrit :Personne n'a de commentaire à faire sur le code ? Ou bien personne ne veut le lire. :triste:

Si ton code est joli ^^ C'est vrai que les classes ça en jette. Mais je m'y plongerais pas de suite.

Bon courage ^^

kéké.