Hoa framework, version bêta 0.3 [MÀJ]

ViPHP
ViPHP | 4674 Messages

02 févr. 2008, 20:10

OOps ... ^^.
Mauvais "yylllp" dans Vi (en clair, mauvais copier-coller) ;-). Je change ça dimanche soir ! Merci jojolapine :).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 1511 Messages

02 févr. 2008, 23:14

Dans la classe hoa_mailer, tu as mis
public function__construct() { [...] }
au lieu de
public function __construct() { [...] }

ViPHP
ViPHP | 4674 Messages

03 févr. 2008, 13:21

Juste.
Je change ça dès ce soir.
Merci :).

Mais attends la documentation avant d'utiliser le framework hihi, ce sera plus facile ;-). Je t'encourage quand même à regarder les sources !

Edit : Hoa_Mailer n'existe pas ;-). C'est dans Hoa_Mail_Antispam que ça se trouve. C'est une classe à faible importance de toute façon. La gestion d'envoie par SMTP est nettement plus intéressante (si tu as envie de voir quelque chose de plus "mieux" :)).

<edit>
Voilà tout est à jours :).
</edit>
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 928 Messages

05 févr. 2008, 22:17

Salut,
je vais probablement poser la question que tout le monde pense tout bas, mais pourquoi un énième framework ? N'as tu pas peur de ne pas tenir la route face à des Symphony testés en véritable environement de production, par des entreprises, par des geeks nolife ? Le but d'un framework étant de ne pas réinventer la roue, comment justifierais tu l'existence du tiens (puisque tu réinventes la roue) ?

Ce n'est en rien une critique, ni une question piège. C'est simplement pour voir un peu ta philosophie, la vision que tu as de ton framework, ce que tu penses apporter à l'existant, etc.. Juste pour avoir des informations en gros ^^
Modifié en dernier par Genova le 06 févr. 2008, 01:28, modifié 2 fois.

Eléphant du PHP | 291 Messages

05 févr. 2008, 23:08

Je vais faire quelque chose d'ignoble, horrible et égoïste, je vais REPONDRE À SA PLACE !! !mouahahaha !!

sérieusement, je pense qu'il a plutôt vu ça comme un Laboratoire personnel, un exercice de style, arriver à faire le mieux possible un projet complet un peu complexe, de la reflexion a la documentation en passant par le développement ?


- voila, j'ai fini de faire mon ignoble et horrible (et égoïste) codeur qui répond à la place des autres ! :-*

Mammouth du PHP | 19672 Messages

05 févr. 2008, 23:09

Je vais me permettre d'apporter un appui à HyWaN en citant (un peu librement) Rasmus Lerdorf lui-même qui dit que les frameworks sont en général surtout utiles pour ceux... qui les développent eux même. En d'autres termes, un développeur utilisera de préférence quelque chose qu'il maîtrise et comprend parfaitement. Non que les autres ne les comprennent pas, mais il faut du temps pour arriver à comprendre tout le cheminement qu'ont suivi les développeurs d'un framework pour en saisir toutes les subtilités. Des frameworks majeurs existent actuellement comme Symphony ou le Zend Framework, beaucoup s'en servent, mais encore plus n'y comprennent pas grand chose et les documentations ne sont pas toujours faites pour ceux qui ne comprennentpas du tout le raisonnement de la fonctionnalité décrite.

J'ajouterais que c'est une très bonne école pour apprendre à maîtriser certains concepts parfois très abstraits.

Ce qu'on peut retirer de tout ça ? Peut-être justement arriver à concevoir un framework assorti d'une véritable documentation utilisable par n'importe quel développeur, à la limite même débutant dans ce mode de fonctionnement. C'est je crois la partie la plus difficile en fait : car il ne faut pas avoir oublié toutes les difficultés qu'on a eu à mettre au point une architecture d'une part et que ça oblige à documenter énormément son code et donc y passer plus de temps qu'à coder pour arriver à rester concis et clair.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 4674 Messages

06 févr. 2008, 01:16

Bonsoir :)

Une petite correction pour mes concurrents, on écrit Symfony et pas Symphony. Normalement, je ne devrais pas :(.

Ensuite cf357, merci de prendre ma défense, mais je préfère répondre moi-même :).

Je m'explique donc.
Au commencement était la Terre (merde un peu trop loin) [sluuuuurrp]. Au début, avant Hoa, j'ai voulu développer un CMS. Je faisais du développement à travers mon agence Web, et utiliser un CMS était de plus en plus vitale. J'ai donc décidé de construire un CMS. Mais je me suis vite rendu compte qu'un bon paquet de paquetages était utile pour mener le projet à bien.
J'ai donc commencé à faire différents paquetages. J'ai commencé par gérer les configurations (éléments essentiels d'un bon CMS). J'ai alors pondu une classe Xml qui ne vous est pas inconnue (normalement ;-))[1]. Le paquetage a directement pris la seconde place au classement des meilleurs paquetages, et ça fait 1 an que je n'ai pas bougé. Ça m'a beaucoup encouragé à continuer. De plus, j'ai reçu pas mal d'encouragements de la part de Cyrano, et d'autres sur le forum ou à travers PHPClasses (et j'en reçois toujours). Mon paquetage XML a été plutôt bien apprécié car il comblait un manque (SimpleXML n'existant pas en PHP 4).
C'est parti, on attaque d'autres paquetages.
Le projet évolue en PHP 5. Je revois tout l'objet de A à Z. Je me documente sur les design patterns. J'apprends plus, toujours plus.
Le framework est vite devenu un argument pour apprendre toujours plus, dans plus de domaines. Un framework par définition touche beaucoup de domaines de l'informatique. J'ai donc appris en détail comment fonctionnait XML-RPC, comment faire un bon système de cache, des filtres, comment gérer les langues, les traductions (Gettext, XLIFF et consort), la localisation, YAML etc. Je mes suis gavé au maximum de savoir, passé des nuits entières dans les spécifications, les RFCs etc.
Finalement, j'ai abouti sur le summum de la POO : le MVC (Modèle Vue Contrôleur). J'ai débattu un moment avec Cyrano (merci :)) sur les bonnes façons de faire. Pour ça j'ai étudié de très prêt le MVC de Symfony (que je trouve archi nul ...), celui de ZF (très bon), de Java (extra mais lourd), et celui de Cocoa (j'ai pas pu tout apprendre, mais c'est une pure merveille de programmation). Comme Cyrano apprenait à utiliser le MVC de ZF, et que j'apprenais à en élaborer un, on échangeait nos problèmes. Mais surtout les solutions qui auraient simples pour améliorer l'utilisation ! Et c'est là que ces longs mails ont été bénéfiques. J'ai pu élaborer un MVC puissant mais simple. Si on veut creuser, on peut toujours. Je me permets de dire puissant (avec beaucoup d'humilité), même s'il n'est pas encore terminé. On peut dores et déjà l'utiliser pour développer de bonnes applications, mais j'ai encore 2000 choses à lui apporter ;-).

Voilà où je veux en venir.
Dans un premier temps, Hoa a été pour moi une très bonne excuse pour apprendre. Me rendant compte que le travail fait n'était pas si mauvais que ça, je me décide de le publier. On pourrait penser qu'un travail qui a été fait pour apprendre n'est pas bon. Mais j'ai appris, puis coder. Donc le travail est correct.

Que va devenir Hoa maintenant ? Hoa est un rétro-acronyme récursif qui veut dire : Hoa Open Accessibility.
Je suis extrêmement attacher à l'accessibilité[2]. Voir des sites codés n'importe comment et non accessible (et également non-standard, mais ça devient une habitude), me chagrine vraiment. Je me suis longtemps demandé ce que je pouvais faire de mes 10 doigts, de mon clavier et de ma tête. Je pense que construire un outil qui permettrait de développer des applications accessibles serait une très bonne chose.
C'est donc le chemin que va prendre Hoa au fil de son développement. La couche Vue du système d'application permettra la gestion de l'accessibilité de manière légère et automatisée (du moins, dans sa plus grosse partie). Hoa sera enfin un outil permettant de construire des applications accessibles.
Pour l'instant, il n'y a que les bases du projets. Juste de quoi être « à niveau » par rapport à d'autres frameworks. Être à niveau signifie ne pas faire pâle figure devant. Hoa est déjà pas mal je trouve, non ? C'est une bonne base pour commencer quelque chose de sérieux. C'est à ça que je voulais aboutir.

Maintenant, que propose Hoa par rapport à d'autre framework ?
Déjà Hoa ne joue pas dans la même cours que Symfony, mais plutôt ZF. Symfony est plus orienté applications rapides, alors que Hoa (tout comme ZF) est orienté outils. La nuance est subtile et je n'arrive pas trop à l'exprimer. Mais je n'aime pas comparer Hoa à Symfony, j'ai l'impression qu'on ne vise pas la même chose.
En même temps, Symfony tout comme ZF sont des frameworks énormes, avec des communautés, un soutien financier, un nombre important de développeurs (et pas les plus nuls) etc. Pour Hoa, je suis seul, sans argent, et aucune communauté (c'est maintenant qu'il faut sortir les mouchoirs ;-)).
Qu'apporte donc Hoa ? Pour l'instant pas grand chose je vous l'accorde, mais le projet n'en n'est qu'à son début. En plus de l'accessibilité, Hoa serait léger. Il l'est déjà. Je pense qu'il est également simple à utiliser. C'est le but que je cherche à chaque fois.
En relisant, j'ai oublié un atout majeur : le MVC. Les autres frameworks (i.e. autre que Symfony et ZF) n'ont pas de MVC. C'est donc un bon point.

Je vais également développer une documentation de fous. La documentation expliquera comment fonctionne le framework bien évidement, mais expliquera également ce que j'ai appris. Par exemple : comment fonctionne un MVC ? Un XML-RPC ? Etc.
J'aimerais également développer un constructeur syntaxique de requêtes SQL, mais c'est une grosse partie également.

Les problèmes de Hoa. Oui il y en a ^^. Je suis seul, et étudiant. Le plus chi*** dans l'histoire, c'est étudiant ;-). L'avancement du projet est étroitement lié à mon emploi du temps, mes sessions d'examens, mes projets de fac etc. C'est plutôt gênant. Le framework n'a pas été modifié depuis 4 mois ! Pendant ce temps j'ai préparé les outils pour le site, la documentation, les gestions de versions, et tout le toutime. On s'est pris 2 projets de fous à la fac, ça m'a ralenti un peu. Maintenant c'est reparti. Mais je dois écrire un livre ;-) (merci Sékiltoyai pour ton aide :)).
Le projet a donc connu une grosse pause, mais ça n'arrivera plus. C'était juste pour mettre la machine en marche.

Enfin bref. Je pense que Hoa n'a pas à rougir devant des frameworks comme Symfony et ZF en toute modestie. Même si pour l'instant je touche moins de domaines et que le projet n'est qu'à son début, ce qui est déjà fait est bien fait ! Je me permets de dire que je n'ai pas à rougir mais proportionnellement (sachant le travail déjà effectué).
Reste donc à continuer sur la même lignée et à faire des innovations. Je ne veux pas marcher dans les traces de ZF, les pas du géants sont trop grands pour moi. Je vise juste à être un petit framework, léger mais très pratique. Si j'arrive déjà à ces objectifs, ce sera pas mal :). D'autant que le projet est français et que c'est rare ;-).

Là dessus, Cyrano avait strictement raison. Je développe pour apprendre et partager ce que j'ai appris. Au fil de l'évolution du framework, il prendra du caractère et saura se différencier par rapport aux autres (principalement par les objectifs premiers que je me suis fixé). La documentation sera un point clé. Mieux vaut un petit framework très documenter, qu'un monstre mal documenté.

J'en ai déjà suffisamment dit :).
Je n'arrive pas à comparer mon travail par rapport à Symfony (déjà expliquer pour quoi), et du mal par rapport à ZF (trop gros). Je ne connais pas trop les autres frameworks, mais je pense pouvoir jouer avec eux. Posez moi des questions pour tester un peu le framework, et on tentera de l'évaluer :).

Et ne t'en fais pas Genova, je ne prends pas mal ta question ;-).

--------

[1] : il est préférable d'aller jeter un oeil sur PHPClasses.org, la version est plus à jours il me semble.
[2] : comme on peut le lire sur mon site.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphanteau du PHP | 31 Messages

07 févr. 2008, 14:45

Je croit qu'il te manque une lettre à cette adresse :

http://hoa-project.net/Roadmap.html

Modèle Vue Contrôleur (MVC)
...Alors, MVC les a découplés pour accroîte la flexibilité,......

Ca ne devrait pas plutôt êter accroître ?
you are bad

ViPHP
ViPHP | 4674 Messages

07 févr. 2008, 17:54

Juste, je modifie ça de suite :).
Merci.

(Faudrait que j'arrête d'écrire la nuit ...)
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphanteau du PHP | 11 Messages

11 févr. 2008, 10:32

Bonjour :)

Je trouve l'idée générale du framework intéressante et t'encourage à continuer le projet. Je pense qu'il y a encore de la place pour un outil léger (je ne l'utiliserais pas si ça devenait une usine à gaz), capable de tourner sur n'importe quel hébergement, même un petit serveur mutualisé, pour créer facilement en PHP des pages esthétiques et accessibles.

Pour ce qui est du code, j'ai un petit peu regardé aussi et ça m'a l'air assez bien conçu... seulement je n'ai pas trouvé d'exemple d'utilisation. Tu pourrais par exemple mettre le code source du site du projet à disposition en téléchargement pour avoir une idée. J'ai vu par ailleurs une documentation au format DocBook... c'est très bien mais sans feuille de transformation, c'est encore un petit peu austère. Je suis conscient qu'il faut laisser le temps au projet de démarrer mais je te conseillerais de commencer par ce qui peut attirer des utilisateurs, voire de l'aide pour le développement. ;)

ViPHP
ViPHP | 4674 Messages

11 févr. 2008, 11:34

Je crois que tu n'as pas regardé au bon endroit et me demande comment tu as fais pour rater ça. Le manuel existe au format XML pour les petits curieux, sinon il se trouve ici au format HTML (2 cliques pour y arriver depuis l'accueil). La documentation est en cours de rédaction et je mets le maximum d'exemple dedans. Un laboratoire devrait également ouvrir ces portes, i.e. une zone de tests.

Merci pour tes encouragements, c'est gentil :).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphanteau du PHP | 11 Messages

11 févr. 2008, 11:55

Houla, mes excuses, je suis aveugle...

ViPHP
ViPHP | 4674 Messages

11 févr. 2008, 14:34

Vraiment aveugle ? Car ça m'intéresserait de parler avec toi dans ce cas.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphanteau du PHP | 11 Messages

11 févr. 2008, 14:50

Ah non, juste incapable de voir un lien dans un menu principal. :wink:

ViPHP
ViPHP | 4674 Messages

11 févr. 2008, 14:54

Mince :(.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).