JeuWeb - Crée ton jeu par navigateur
Orpheus, mon framework PHP Open 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 : Orpheus, mon framework PHP Open Source (/showthread.php?tid=6377)

Pages : 1 2 3 4 5


RE: Orpheus, mon framework PHP Open Source - Sephi-Chan - 14-09-2012

(14-09-2012, 08:59 AM)Cartman34 a écrit : De plus, s'il n'y avait aucune différence avec les autres frameworks, Orpheus ne servirait à rien et il ne serait pas davantage optimisé.

Davantage optimisé par rapport à quoi ?

Quand tu dis que sans ses différence, Orpheus ne servirait à rien, tu mets le doigts là où il faut. Ce framework est sûrement utile pour toi, mais sans une communauté derrière, aucun développeur n'aura intérêt à l'utiliser : il ne sera pas aussi sûr et fiable qu'un framework lourdement testé, éprouvé par des milliers de développeurs et qui reçoit des patch/fix/améliorations chaque jour.

Un développeur seul a peu de chance de réaliser quelque chose de bien (ça peut convenir aux besoins sans être bien) et surtout, a encore moins de chance de rendre le développement soutenable

En théorie c'est bien d'avoir du choix, mais il faut être réaliste : les petits frameworks ne sont jamais de bons outils qu'il est pertinent de choisir.

L'as-tu développé dans un but didactique ?
Si non, qu'est-ce qui t'a tenu à l'écart de l'un des grands framework open source ?


RE: Orpheus, mon framework PHP Open Source - Cartman34 - 16-09-2012

(14-09-2012, 09:23 AM)Sephi-Chan a écrit : Davantage optimisé par rapport à quoi ?
Par aux usines à gaz qu'on trouve sur internet et qu'on nomme framework.
Une des grandes différences est qu'en concevant Orpheus, j'ai tenu compte du langage et de ses possibilités.
Ainsi il y a très peu de classes servant au core d'Orpheus, il n'y a que les classes pour la configuration et pour les hooks, qui sont nécessaires pour l'extensibilité du framework.
De même pour la communication avec la communication avec la base de données, il n'y a que la classe à hériter et le SQLMapper à utiliser (et encore), pas tout un patacaisse avec un EntityManager, Repository ou QueryBuilder comme on pourrait le voir avec Doctrine.

(14-09-2012, 09:23 AM)Sephi-Chan a écrit : Quand tu dis que sans ses différence, Orpheus ne servirait à rien, tu mets le doigts là où il faut. Ce framework est sûrement utile pour toi, mais sans une communauté derrière, aucun développeur n'aura intérêt à l'utiliser : il ne sera pas aussi sûr et fiable qu'un framework lourdement testé, éprouvé par des milliers de développeurs et qui reçoit des patch/fix/améliorations chaque jour.
Ce framework est nouveau, c'est tout à fait normal qu'il n'est pas de communauté, il faudra peut être que je développe ça mais ce n'est pas son but initial. A la base, il me sert juste à partager mes sources et ma documentation dans le but de le rendre plus mature, de permettre un suivi durable à mes sources et bien sûr pour le simple partage mon travail.
Avant de le publier à plus grande échelle et de permettre une communauté, je souhaite le rendre un peu plus stable et votre avis sur des modifications intéressantes m'intéresse.

(14-09-2012, 09:23 AM)Sephi-Chan a écrit : En théorie c'est bien d'avoir du choix, mais il faut être réaliste : les petits frameworks ne sont jamais de bons outils qu'il est pertinent de choisir.
Un framework connu fut un jour un framework méconnu, je rappelle que c'est sa première année.

(14-09-2012, 09:23 AM)Sephi-Chan a écrit : L'as-tu développé dans un but didactique ?
Si non, qu'est-ce qui t'a tenu à l'écart de l'un des grands framework open source ?
Oui et non, m'améliorer est un but que j'ai pour tout en programmation, c'est toujours intéressant et y'a toujours des trucs à apprendre. J'ai cité les autres buts un peu plus haut. ;-)
J'ai vu qu'ils ne simplifiaient pas toujours voire pas du tout l'utilisation de PHP.
De plus l'optimisation est très importante pour moi, j'ai toujours travaillé en faisant des choix d'optimisation, il est donc devenu impensable de travailler avec de tels outils.
C'est comme utiliser un char d'assaut pour tuer une mouche sur le cul d'un dromadaire, il se déplace lentement, on a pas besoin d'autant et on veut pas tuer ce pauvre dromadaire...
Il faut utiliser les outils adaptés au besoin.


RE: Orpheus, mon framework PHP Open Source - srm - 16-09-2012

En quoi tu trouves que les autres frameworks ne tiennent pas compte du langage et de ses possibilités ?
Peux tu en citer ?

Optimisé dans quel sens ? Nombre de ligne de code ? Rapidité ? Empreinte mémoire ?


RE: Orpheus, mon framework PHP Open Source - Cartman34 - 18-09-2012

(16-09-2012, 11:49 AM)oxman a écrit : En quoi tu trouves que les autres frameworks ne tiennent pas compte du langage et de ses possibilités ?
Peux tu en citer ?
(16-09-2012, 08:58 AM)Cartman34 a écrit : Ainsi il y a très peu de classes servant au core d'Orpheus, il n'y a que les classes pour la configuration et pour les hooks, qui sont nécessaires pour l'extensibilité du framework.
De même pour la communication avec la communication avec la base de données, il n'y a que la classe à hériter et le SQLMapper à utiliser (et encore), pas tout un patacaisse avec un EntityManager, Repository ou QueryBuilder comme on pourrait le voir avec Doctrine.

(16-09-2012, 11:49 AM)oxman a écrit : Optimisé dans quel sens ? Nombre de ligne de code ? Rapidité ? Empreinte mémoire ?
Dans tous ces sens, plus ou moins selon le framework comparé.

Mon but n'est pas de parler de ce que les autres n'ont pas mais de ce que mon framework apporte.
L'un des principes d'Orpheus est de séparer la couche métier de la couche technique (Séparation des préoccupations ou Separation of concerns), c'était important pour moi que dans le contrôleur il n'y ait plus d'echo, de PDO, de filter_var() ou de file_put_contents (e.g pour les logs) qui sont des fonctions techniques.
Ainsi il existe des bibliothèques (ou il doit/devra) pour s'occuper de la partie technique, le développeur utilisateur n'a que 4 parties (environ) à implémenter: La base de données (Modèle), les objets (liaison Modèle/Contrôleur), les modules (Contrôleur, couche métier uniquement) et les rendus (Vue).
Je l'ai amélioré dernièrement en ajoutant concrètement la Vue par l'implémentation du bibliothèque pour Twig, le moteur de template.
J'ai aussi rendu possible la totale utilisation des moteurs de rendus afin d'éviter tout code HTML qui pourrait être retourné alors que le rendu est en JSON par exemple, mais ça pourrait aussi bien du PDF, une vidéo ou juste Twig.


RE: Orpheus, mon framework PHP Open Source - srm - 18-09-2012

Donc c'est exactement comme les autres framework, mais moins bien codé.

Pour ne citer qu'un exemple, ton système qui fait les requêtes SQL est un gouffre à mémoire si tu veux récupérer beaucoup de lignes et itérer dessus.

Ca n'est pas un framework qui sépare la couche métier de la couche technique, c'est le programmeur qui le fait.
Avec ton framework comme avec n'importe quel autre on peut soit mélanger la couche technique/métier, soit ne pas le faire.

De plus quand tu cites que dans ton contrôleur il n'y a aucun echo, ni requête PDO, file_put_contents etc, encore heureux.
C'est la définition même du contrôleur de contrôler les données d'échanger entre le model et la vue, mais lui même ne sait pas comment son stocké les données (fichier ? base de données ? c'est le model qui le sait) ni même comment elles sont affichées (html ? pdf ? excel ? c'est la vue qui le sait).

Donc je répète encore une fois : qu'est ce que ton framework apporte par rapport aux autres hormis le fait d'être mal codé ? (cf exemple cité dans ce premier message, et je peux t'en citer d'autres)
Car là à chaque fois ce que tu réponds, on dirait un discours de marketeux, pas autre chose.


RE: Orpheus, mon framework PHP Open Source - t.bodeux - 20-09-2012

Je trouve effectivement un peu prétentieux ta manière de penser que ton Framework surpasse "Laravel", "CakePHP" ou encore "Symfony" ... Ou peut-être as-tu déjà réaliser un Benchmark par rapport eux ???


RE: Orpheus, mon framework PHP Open Source - Akira777 - 20-09-2012

[quote='Cartman34'Un framework connu fut un jour un framework méconnu, je rappelle que c'est sa première année.[/quote]

Symfony fût lancé par Sensio, une web agency Française. Qui développa le Framework en interne pour ses développeurs. donc déjà ils étaient pas tout seuls. Et puis les dévs étaient déjà des gourous du développement qui en avaient dans le froc (j'entend par là, expérience, expertise et cas concrets différents chaque jour).

Zend Framework, c'est la société Zend Technologies. C'est un peu quand même les créateurs de PHP3, et de ce qui fait PHP aujourd'hui.

ou encore,

CodeIgniter, de la société EllisLab et ses CMS ExpressionEngine et MojoMotor.

En parlant de ce dernier. Tu as là un exemple de framework, léger et extrêmement performant.

En jettant un oeil au code de ton framework, je n'ai vu que des mauvaises pratiques. Echappement des erreurs avec @. Du code HTML au milieu du moteur. Et j'en passe.

Objectivement, je trouve que c'est une bêtise de vouloir développer son framework seul, et avec cette "inexpérience". De très bon outils sont à disposition sur le web. Si tu veux faire du développement web ton métier. Tu ne tireras aucun avantage de ça. A moins que ton framework ne devienne hyper-connu (j'exprime un doute).

Autant approfondir ses connaissances sur du Zend, du Symfony, du CakePHP, du Laravel, du CodeIgniter. Du moins c'est mon avis. Je pense qu'à une certaine mesure, sur un framework, il faut savoir rester "utilisateur", même approfondi. Et ne pas divaguer plus loin...

Même si je note quand même que dans certains projets tu peux avoir besoin d'un micro (mais alors micro) framework, mais là encore, des choses performantes ont été faites : slimframework, limonade, ...

A bon entendeur. Bonsoir l'ami.


RE: Orpheus, mon framework PHP Open Source - archANJS - 20-09-2012

Je plussoie.


RE: Orpheus, mon framework PHP Open Source - Cartman34 - 20-09-2012

(18-09-2012, 08:49 PM)oxman a écrit : Pour ne citer qu'un exemple, ton système qui fait les requêtes SQL est un gouffre à mémoire si tu veux récupérer beaucoup de lignes et itérer dessus.
Il est possible de récupérer le résultat en tant que PDOStatement afin d'éviter la surcharge mémoire en cas d'un nombre trop important de résultats. Il faut probablement que je trouve une meilleure solution mais je doute qu'on puisse faire mieux que PDO à ce niveau.

(18-09-2012, 08:49 PM)oxman a écrit : Ca n'est pas un framework qui sépare la couche métier de la couche technique, c'est le programmeur qui le fait.
Avec ton framework comme avec n'importe quel autre on peut soit mélanger la couche technique/métier, soit ne pas le faire.
Ca c'est les développeurs du framework et de l'application qui décident, pour ma part, il m'a semblé évident que le framework doit gérer ça, il doit simplifier la vie de son utilisateur.

(18-09-2012, 08:49 PM)oxman a écrit : Donc je répète encore une fois : qu'est ce que ton framework apporte par rapport aux autres hormis le fait d'être mal codé ? (cf exemple cité dans ce premier message, et je peux t'en citer d'autres)
Car là à chaque fois ce que tu réponds, on dirait un discours de marketeux, pas autre chose.
Je suis très mauvais vendeur, je ne vends pas mon framework, je ne cherche même pas à ce que vous l'utilisez.
Je vous le présente et attend des critiques constructives en réponse.

(20-09-2012, 01:39 AM)Akira777 a écrit : En jettant un oeil au code de ton framework, je n'ai vu que des mauvaises pratiques. Echappement des erreurs avec @. Du code HTML au milieu du moteur. Et j'en passe.
Mon problème est que vous passez tous, or je ne suis pas là pour que vous me disiez que vous préférez CodeIgniter ou quoi (même si l'information en elle même est intéressante) mais pour que vous proposiez des améliorations, reconnaissiez des erreurs etc...
Je répète qu'il n'a pas la prétention d'être mature, il faut qu'il le devienne.
Mais ce n'est pas en me critiquant moi que ça va avancer les choses.

(20-09-2012, 01:39 AM)Akira777 a écrit : En jettant un oeil au code de ton framework, je n'ai vu que des mauvaises pratiques. Echappement des erreurs avec @. Du code HTML au milieu du moteur. Et j'en passe.
L'utilisation de @ est très restreinte, uniquement pour que le gestionnaire d'erreur ne renvoie pas lui même une erreur, sinon ça risque soit de l’appeler en boucle, soit de renvoyer une page totalement blanche. Je compte bien trouver une meilleure solution, si tu as quelque chose à proposer, n'hésite pas.
Pour le code HTML, il n'y en a normalement plus dans tous ce qui est le moteur et les bibliothèques.
Les modules peuvent en contenir, ça j'en ai déjà parlé, c'est au choix de l'utilisateur.

(20-09-2012, 01:39 AM)Akira777 a écrit : Objectivement, je trouve que c'est une bêtise de vouloir développer son framework seul, et avec cette "inexpérience". De très bon outils sont à disposition sur le web. Si tu veux faire du développement web ton métier. Tu ne tireras aucun avantage de ça. A moins que ton framework ne devienne hyper-connu (j'exprime un doute).

Autant approfondir ses connaissances sur du Zend, du Symfony, du CakePHP, du Laravel, du CodeIgniter. Du moins c'est mon avis. Je pense qu'à une certaine mesure, sur un framework, il faut savoir rester "utilisateur", même approfondi. Et ne pas divaguer plus loin...
On a pas tous les mêmes ambitions ni les mêmes objectifs, comme je l'ai dit, si "Si tu n'es pas satisfait par le travail des autres alors fais le toi même. On est jamais mieux servir que par soi-même.".
Bien heureusement, je ne suis pas du tout inexpérimenté, mais on n'est pas là pour parler de moi.

(20-09-2012, 12:21 AM)t.bodeux a écrit : Je trouve effectivement un peu prétentieux ta manière de penser que ton Framework surpasse "Laravel", "CakePHP" ou encore "Symfony" ... Ou peut-être as-tu déjà réaliser un Benchmark par rapport eux ???
C'est encore un message à propos de moi mais là tu me fais dire ce que je n'ai pas dit, je ne suis pas satisfait par ces frameworks, je réalise moi même ce que je pense le plus adapté, je le partage.
Je n'ai pas vu un de ces frameworks mal conçus ou quoi, je ne suis pas satisfait par leur utilisation et leurs résultats.
Je sais trop bien que quand on fait de longues études d’ingénierie (ou qu'on en a marre de ré-inventer la roue), on a envie de faire une application qui fait tout, même le café, or c'est pas ce qu'on souhaite ici alors je restreins à ce qui est utile (selon moi puis pour les autres, je partage juste mon travail, je le répète).
Après, je ne peux pas tester tous les frameworks, il y en a surement un ou plusieurs qui m'auraient très bien convenu, je compte encore les trouver mais c'est aussi une expérience assez importante de réaliser soi même un framework, ça vous fait comprendre énormément de choses.


RE: Orpheus, mon framework PHP Open Source - niahoo - 20-09-2012

Bon et donc est-ce qu'on pourrait voir une mini application construite avec ton framework ?