Pour reprendre rapidement le commentaire de zeus, je n'ai pas dit que symfony ou zend ne permettaient pas de faire des formulaires ou générer le crud, je sais qu'ils le font, ce que ces points sont le concept central de mon framework.
Les deux points les plus importants lors du développement d'une application sont l'accès aux données et la gestion des formulaires.
: 100% d'accord. J'ajouterai même que ce sont les deux points les plus redondants.
Quand je parle de nouveau concept Cyrano, en effet je dois faire un effort pour préciser. Déjà sur la terminologie j'aurai plutôt du dire framework web, vu que jQuery et jQueryUI font presque partie du noyau.
Je vais essayer d'expliquer la philosophie qui m'a amené à rechercher, puis développer et enfin proposer un tel framework (car je pense pas être le seul à penser comme ça)
1 - j'ai un site ou une application web à réaliser et je veux le faire
le plus vite que possible et écrire un code facilement réutilisable
2 -
je ne veux pas configurer quoi que ce soit, sauf l'accès à ma base de données
3 - je veux un framework avec une
courbe d'apprentissage rapide, avec peu de nouveaux concepts et pas de nouveau langage à apprendre
4 - je veux que la partie rendu soit séparée de la logique métier, mais
je ne veux pas apprendre de nouveau langage comme smarty
5 - je ne veux pas avoir à écrire la partie administration, ni la générer mais
je veux que le client final puisse changer le contenu de manière rapide, intuitive, avec de l'AJAX et un bel UI.
6 -
je ne veux être obligé d'écrire du SQL, mais je veux garder la possibilité de le faire
7 -
je veux peu de contraintes sur ma manière de coder, mais
je veux que le code reste un minimum organisé
8 - aussi vrai que l'iphone à une application pour tout,
le framework doit avoir un module pour tout. Je veux insérer une video youtube en faisant <youtube video_id="<?=$video_id?>" width="300" height="200"/>, et je veux utiliser Zend quand c'est possible plutôt que d'avoir à coder des comportements qui existent déja
Et pour expliquer rapidement comment j'ai tenté de répondre aux problématiques
1 - Ce point est un peu la synthèse de tous les autres ^^
2 - Juste une web install avec une page de config à la base de données (host/root/user/db_name), tout le reste est généré à la volée
3 - Le framework n'utilise que PHP et javascript, le seul concept nouveau est celui des objets (au sens du framework)
4 - Un peu à la codeigniter, les templates s'écrivent en html brut avec quelques balises spéciales (ex <include src="mon_autre_fichier.tpl.php"> pour inclure un fichier), et support interne des short tags php <?=$ma_variable?>.
5 - Les objets permettent, juste en décrivant le type de données que tu veux dans ton objet ex bloc_contenu(text=>id=mon_champ_text, image=>id=mon_image, wysiwyg=>id=mon_paragraphe) et la table (bloc_table) ou ils vont être enregistrés de créér un objet qui va te permettre en une méthode un formulaire jQueryUI/ajax qui va sauvegarder les données dans la base au bon endroit, et même de faire de l'edit in place (popup ajax avec formulaire jqueryui qui s'ouvre lorsque tu cliques sur la zone de rendu de ton objet).
6 - via les objets, le CRUD général est automatisé mais on peut quand même accéder facilement aux données mais je vais pas rentrer dans détail, car mon post sent déja le paté
7 - Juste 4 dossiers 'obligatoires' avec application/objects, application/controllers, application/views et application/templates, pour le reste c'est plus ou moins freestyle.
8 - C'est en cours, le framework Zend peut s’intégrer, et l’interpréteur de template permet déjà d'analyser les balises, reste à trouver un nice way pour créer des modules.
La vrai valeur ajoutée je pense que ce sont les objets. Tu décris ta structure de données et aussitôt tu peux générer un formulaire wysiwyg/ajax/jqueryui/multilang listé ou non, faire du CRUD, tout en gardant la possibilité d'accès avec $mon_objet->mon_id->value;