NkMVC, c’est l’histoire d’un PoC< Sujet précédent  Sujet suivant >
Index du Forum -> DEVELOPPEMENT -> Modules
AuteurMessage
France.gif childpid
Junior Member



Messages : 48
Inscrit(e) le: 30/10/2012
NkMVC, c’est l’histoire d’un PoC

 

Bonsoir, je me présente Childpid. anciennement el.iterator

 

Cela fait 3 ans que je regarde de manière assidue ce qui se passe dans la communauté NK, cette communauté toujours ambitieuse et passionnée mais aussi avec ses histoires et ses déboires.

 

Il y a 3 ans, nous parlions de Nk2 et de MVC, mais il faut se rendre à l’évidence, un NK pur MVC, ce ne sera pas pour maintenant ( à moins que les dèvs nous fassent une sacrée surprise).

 

Ce CMS ayant un énorme potentiel, je me suis posé la question à savoir quelle pourrait être ma contribution, même minime soit-elle.

 

- Comment pourrait-on créer des modules plus facilement sans insérer du code HTML dans le PHP, mais plutôt l’inverse

- Comment pourrait-on rendre la vie des designers plus simple et favoriser la creation de thèmes et de templates.

- Comment pourrait-on organiser, standardiser le code NK afin que tout développeur expérimenté ou non puisse proposer à la communauté des modules interopérable avec le plus grand nombre de version NK

 

Bref, comment faire pour rendre NK encore plus attractif?

 

Je ne pense pas que ma contribution soit la réponse, mais je  crois fortement qu’il faut donner maintenant une autre dimension à NK, une dimension semblable aux CMS et framework PHP qui respectent les conventions et standards PHP que tout bon développeur et application PHP se doivent de respecter maintenant.

 

Pour tenter partiellement d’être proche de ces réponses, je me suis amusé à créer un PoC NkMVC . Un PoC est une prevue de concept, une tentative d’apporter des solutions techniques, une étude de faisabilité en somme.

 

Ce PoC tente de faire en sorte de séparer la presentation (HTML) du contrôle ( PHP ) et de l’abstraction (Modèle / BDD), en résumé de proposer du MVC ( Modèle-Vue-Controlleur).

 

Je vous laisse le soin de rechercher quelques infos sur le Web mais ceux qui connaissent et utilisent ce patron de conception connaissent l’importance du MVC dans les CMS et framework PHP open source ainsi que toute sa puissance.

 

Bon, Blabla à part, j’invite tous ceux qui sont intérressé par ma demarche (l’avancé du PoC se fera selon l’intérêt qu’à la communauté vis à vis du projet) à me poser toutes les questions, utiles ou non à contribuer, à modifier, à suggérer et proposer des idées.

 

Le code source peut être  suivi içi: 

https://github.com/childpid/NkMVC

 



Edité par childpid le 18/11/2012 - 18:05:57
<p>rn <strong>Childpid</strong><br /> rn<br /> rn <strong><a href="https://github.com/childpid/Nk_Module_Installer" target="_blank"><span style="color:#ff0000">NkModuleInstaller</span></a></strong> <em>Easy install, update, remove your Nuked-Klan modules and patchs (still in development)</em></p> <p>rn</p> <p>rn <strong><a href="https://github.com/childpid/NkMVC"><span style="color:#ff0000">NkMVC </span></a></strong><em>Un PoC [Preuve de Concept] permettant d&#39;utiliser du MVC dans le CMS Nuked-Klan</em></p> <p>rn</p> <p>rn <a href="http://code.google.com/r/childpid-nuked-klan-nk18/source/list" target="_blank"><span style="color:#ff0000"><em><strong>Nk1.8 forked</strong></em></span></a></p> <p>rn</p>
Posté le 18/11/2012 - 18:00:58   Revenir en haut | Permalien
Belgium.gif PePeRePeRveRs
Vice-Président Association

Messages : 3672
Inscrit(e) le: 13/06/2004
RE : NkMVC, c’est l’histoire d’un PoC

Salut childpid et merci pour ta contribution,

J'inviterais les devs à se pencher sur ce sujet, même si je sais que ton idée a déjà débattue en réunion.
Comme on dit, y'a toujours plus d'idées dans deux têtes que dans une

PS: je me souviens bien de toi, ainsi que l'histoire de ton ancien pseudo



Avant d'ouvrir un sujet, n'oubliez pas de lire le règlement et faire une recherche sur le forum !

Posté le 18/11/2012 - 23:21:36   Revenir en haut | Permalien
Switzerland.gif shinix
Junior Member



Messages : 42
Inscrit(e) le: 16/12/2010
RE : NkMVC, c’est l’histoire d’un PoC

Un MVC pour NK peut-être pas pour tout de suite mais pour bien séparer le HTML du PHP autant utiliser un moteur de template tel que Smarty qui serait un grand + pour la communauté car grâce à ça les membres connaissant juste un peu le HTML peuvent changer facilement la mise en page des modules !

 

Après si NK devait prendre un MVC autant prendre un framework directement (genre PHPCake,symphony ou autre).

 

Après pour standariser le code NK je pense que un NK en PDO serait une bonne solution.

 

De toute manière, si NK ne se met pas à jour d'ici peu d'autres CMS du même genre vont prendre la 1ère place comme e10* (évitons de faire de la pub)  par exemple).

 

Personnellement j'ai recrée un CMS tel que NK en PDO + Smarty et ça me semble un bon compromis (MP moi si tu veux le voir en action )



Edité par shinix le 19/11/2012 - 09:40:40

 Shinix.me - Mon portfolio

Posté le 19/11/2012 - 09:35:19   Revenir en haut | Permalien
France.gif childpid
Junior Member



Messages : 48
Inscrit(e) le: 30/10/2012
RE : NkMVC, c’est l’histoire d’un PoC
Citation par shinix :

Un MVC pour NK peut-être pas pour tout de suite mais pour bien séparer le HTML du PHP autant utiliser un moteur de template tel que Smarty qui serait un grand + pour la communauté car grâce à ça les membres connaissant juste un peu le HTML peuvent changer facilement la mise en page des modules !

En fait, à partir du moment que tu sépares le php du HTML, tu fais déjà du VC et je suis à 200% d'accord avec toi que ce 2/3  de design pattern serait un très très gros plus pour le développement HTML.

 

Mon avis perso est que Smarty est assez lourd comme moteur de template, il y en a de plus performant mais, c'est vrai,  c'est pour le moment un détail.

 

Je te rejoins une nouvelle fois sur l'utilisation d'un vrai framework php pour refaire dans son 'Intégralité' NK, mais est-ce réellement l'objectif et l'ambition des dèvs? Pour le moment je me permet d'en douter, car cela fait plusieurs années que ce débat est en cours mais il reste stérile.

 

PDO, ADODBPHP, Doctrine... tout est possible. Maintenant les questions qui me viennent à l'esprit sont:

 

* Sachant que ce chantier impactera fortement le core même de NK, est-ce que les utilisateurs actuels NK vont adhérer à toutes ces profondes modifs, vont-ils avoir le temps et la patience de re-apprendre à coder des modules, des patchs ou autres pour NK car beaucoup de choses changeront?

 

* Faut-il proposer un pont (Bridge) comme je tente de le faire avec le PoC NkMVC, pour leur permettre de choisir entre "Utiliser ou non du MVC" ou plutôt, tout casser et refaire correctement les choses.

 

[Pour ma part, je serai pour la 2nde solution mais ce n'est pas moi qui décide.]

Les dèvs auront un très lourde responsabilité dans ces choix, je ne voudrais pas être à leur place

 



Edité par childpid le 19/11/2012 - 14:26:20
<p>rn <strong>Childpid</strong><br /> rn<br /> rn <strong><a href="https://github.com/childpid/Nk_Module_Installer" target="_blank"><span style="color:#ff0000">NkModuleInstaller</span></a></strong> <em>Easy install, update, remove your Nuked-Klan modules and patchs (still in development)</em></p> <p>rn</p> <p>rn <strong><a href="https://github.com/childpid/NkMVC"><span style="color:#ff0000">NkMVC </span></a></strong><em>Un PoC [Preuve de Concept] permettant d&#39;utiliser du MVC dans le CMS Nuked-Klan</em></p> <p>rn</p> <p>rn <a href="http://code.google.com/r/childpid-nuked-klan-nk18/source/list" target="_blank"><span style="color:#ff0000"><em><strong>Nk1.8 forked</strong></em></span></a></p> <p>rn</p>
Posté le 19/11/2012 - 14:25:54   Revenir en haut | Permalien
Switzerland.gif shinix
Junior Member



Messages : 42
Inscrit(e) le: 16/12/2010
RE : NkMVC, c’est l’histoire d’un PoC

Disons que si Nk était refait à 100% sur un framework actuel les utilisateurs du CMS néophytes ne verront pas de différence réel en terme d'utilisation. Après c'est sur que les codeurs actuels ne serait peut-être pas d'accord d'apprendre à coder sous le nouveau framework, mais un bon codeur sait s'adapter assez facilement je pense.

 

Après, le moteur de NK actuel est complètement dépassé et c'est clair qu'il ne peut resté comme ça. J'espère que les admins en sont conscients.

Mais je ne comprends pas réellement l'utilité de ton repo Gitub, tu proposes NK en MVC ?  donc tu as du séparé le html, le php et les requêtes SQL ?

 

Si tel est le  cas c'est une bonne initiative mais vu que la nouvelle version de NK sortira sous peu, ne fallait-il pas l'attendre ?



 Shinix.me - Mon portfolio

Posté le 19/11/2012 - 15:24:32   Revenir en haut | Permalien
France.gif Sam
Développeur

Messages : 1310
Inscrit(e) le: 19/11/2007
RE : NkMVC, c’est l’histoire d’un PoC

Bonjour childpid & shinix,
 

beaucoup des questions que vous vous posez ont effectivement déjà été débattues par l'équipe de développement, nous avons plusieurs fois changer d'avis sur la façon de procéder, d'aborder la migration de NK, vers un code plus propre, plus modulaire et surtout plus ergonomique.

Je vais vous faire un cours résumé de ce qui en est ressorti, je reste toutefois à votre disposition pour de plus amples informations.

Concernant la migration vers ce "nouveau" NK, il nous est apparu au cours de cette dernière année, que les utilisateurs de Nuked-klan, ne s'intéresse pas plus que cela à l'architecture du code du CMS mais plutôt à son interface, son ergonomie et surtout ses fonctionnalités. De ce fait nous avons donc décider de partir sur 2 futures versions de NK, une 1.8 ainsi que la fameuse 2.0 .


La première, servira à poser les bases de la migration, en effet la majorité des utilisateurs ne connaissent pas grand chose au PHP et on quelques bases en HTML, de ce fait un changement de l'architecture du CMS sans apport de fonctionnalité ou d'ergonomie, passeraient totalement inaperçu à leurs yeux. En partant de là, on a décidé de faire de la 1.8 une version de transition, cette dernière se verra dotée de nouveaux modules, de refontes totales des modules présents (remis au goût du jour), ainsi que l'ajout de nombreuses fonctionnalités tels que celles que nous a fourni la communauté dans le forum suggestions.

En parallèle, la 2.0, sera quant à elle un nouveau départ, on repart à 0 avec un MVC, avec un mini framework NK qui permettras au développeurs de modules et patchs de travailler plus rapidement et efficacement, mais également aux développeurs novices, d'avoir la possibilité de proposer leur idées sans forcément en avoir les connaissances. Le principe de cette version est que tout soit modifiable par l'utilisateur, en limitant les connexions au FTP voir même à les éradiquées.

Je ne m'attarderais pas sur les détails techniques de cette dernière, le cahier des charges étant encore en cours de rédaction. Cependant, quelques point ont déjà abordé, tel que PDO, que nous n'utiliserons pas pour des soucis de compatibilité avec certains hébergeurs gratuits (une grande majorité des hébergements NK), nous préférons créer notre propre interface de gestion de la BDD, qui fera d'ailleurs parti du framework NK. Il y également, un discussion en cours concernant l'intégration d'éléments externes comme CkEditor (par exemple) la question étant de peser la pour et le contre, savoir si la lourdeur de ckeditor peut compenser le temps de développement d'un éditeur "maison" (par exemple). Bref énormément de questions que nous essayons de traîter sans passer à côté de quelquechose, car une fois le développement commencé, il sera trop tard pour modifier le CDC, le bricolage de code et NK c'est une longue histoire d'amour qui doit disparaître


Bref 2 gros chantiers en cours, pour lequels les bras supplémentaires ne seront pas de trop, voilà pourquoi la recrutement s'est intensifié et pourquoi nous avons repenser notre façon de recruter de nouveaux éléments.

Cdt,

Sam

 



Posté le 19/11/2012 - 15:42:07   Revenir en haut | Permalien
Switzerland.gif shinix
Junior Member



Messages : 42
Inscrit(e) le: 16/12/2010
RE : NkMVC, c’est l’histoire d’un PoC

Bonne nouvelle apparemment ! Merci à toi Samoth pour tes explications.

Je pense que c'est une très bonne chose de faire le propre framework NK si et seulement si le/les codeur(s) le faisant sont + qu'experimentés.

 

Tout semble très intéressant ! Maintenant il reste à voir le temps de développement que cela va consacré, NK2.0 va-t-il sortir dans quelques mois, quelques années.

 

Concernant le Wysiwyg utilisé je pense que vu que le CMS sera entièrement refait autant balancer l'éditeur actuel qui est + que de la m**** (en créer un basique qui pourra être poussé via des plugins serait peut-être bénéfique).

 

Enfin, beaucoup à faire pour quelques codeurs que vous êtes ce qui va prendre du temps je vous souhaites bien du courage !

 

Bon, si il y a besoin d'aide je peux toujours mettre la main sur Coda et vous aider

 

Encore merci de tes réponses



 Shinix.me - Mon portfolio

Posté le 19/11/2012 - 17:02:40   Revenir en haut | Permalien
France.gif childpid
Junior Member



Messages : 48
Inscrit(e) le: 30/10/2012
RE : NkMVC, c’est l’histoire d’un PoC

Que de bonnes nouvelles.

 

Je souhaite vraiment que cela se fasse, vraiment, j'ai hâte, mais j'ai tellement vu d'effet d'annonce de ce genre que j'essaye de ne pas m'enflammer.

Ce que je peux constater, c'est que l'équipe est déjà plus souder et selon mes premières constatations, plus sérieuse, ce qui manquait réellement ces dernières années.

Je wait and see et encore une fois suis disponible pour tout débat et aide ultérieure



<p>rn <strong>Childpid</strong><br /> rn<br /> rn <strong><a href="https://github.com/childpid/Nk_Module_Installer" target="_blank"><span style="color:#ff0000">NkModuleInstaller</span></a></strong> <em>Easy install, update, remove your Nuked-Klan modules and patchs (still in development)</em></p> <p>rn</p> <p>rn <strong><a href="https://github.com/childpid/NkMVC"><span style="color:#ff0000">NkMVC </span></a></strong><em>Un PoC [Preuve de Concept] permettant d&#39;utiliser du MVC dans le CMS Nuked-Klan</em></p> <p>rn</p> <p>rn <a href="http://code.google.com/r/childpid-nuked-klan-nk18/source/list" target="_blank"><span style="color:#ff0000"><em><strong>Nk1.8 forked</strong></em></span></a></p> <p>rn</p>
Posté le 19/11/2012 - 17:47:02   Revenir en haut | Permalien
France.gif childpid
Junior Member



Messages : 48
Inscrit(e) le: 30/10/2012
RE : NkMVC, c’est l’histoire d’un PoC
Citation par shinix :

Mais je ne comprends pas réellement l'utilité de ton repo Gitub, tu proposes NK en MVC ?  donc tu as du séparé le html, le php et les requêtes SQL ?

Oui tout à fait, je ne l'ai fait que pour les modules pour le moment, çà marche mais mon intérêt est de le faire sur l'ensemble de NK tout en minimisant un maximum toute modification sur le code actuel.

 

Pour le moment, il suffit de modifier 5 lignes dans le fichier index.php pour faire en sorte de faire marche NkMVC.

Je veux faire en sorte que l'utilisateur n'ait aucune modification à faire

 



Edité par childpid le 19/11/2012 - 17:51:24
<p>rn <strong>Childpid</strong><br /> rn<br /> rn <strong><a href="https://github.com/childpid/Nk_Module_Installer" target="_blank"><span style="color:#ff0000">NkModuleInstaller</span></a></strong> <em>Easy install, update, remove your Nuked-Klan modules and patchs (still in development)</em></p> <p>rn</p> <p>rn <strong><a href="https://github.com/childpid/NkMVC"><span style="color:#ff0000">NkMVC </span></a></strong><em>Un PoC [Preuve de Concept] permettant d&#39;utiliser du MVC dans le CMS Nuked-Klan</em></p> <p>rn</p> <p>rn <a href="http://code.google.com/r/childpid-nuked-klan-nk18/source/list" target="_blank"><span style="color:#ff0000"><em><strong>Nk1.8 forked</strong></em></span></a></p> <p>rn</p>
Posté le 19/11/2012 - 17:50:51   Revenir en haut | Permalien
Belgium.gif BuRner
Junior Member



Messages : 16
Inscrit(e) le: 13/06/2004
RE : NkMVC, c’est l’histoire d’un PoC

Salut à tous,

Je suis un vieux de la vieille (pour ceux qui se souviennent de moi ), j'ai été récupérer mon mot de passe juste pour pouvoir répondre à ce topic, c'est dire!

 

Déjà ça fait plaisir de voir qu'il y a toujours des gens actifs, des motivés et surtout de voir que pas mal de monde se rend compte que le code est moisi et doit changer, mais ça fait longtemps déjà. Le dernier rempart qui a toujours bloqué c'est avoir suffisamment de motiviation pour repartir de 0. Mais ça je suis sûr qu'il y en a parmis vous qui sont capables aussi.

 

Certains parlent d'utiliser le pattern MVC, ou carrément un Framework, d'autres de créer un mini framework NK, certains juste utiliser un moteur de template style Smarty, ... Comme toujours ça se discute...

 

Au final je voulais juste vous faire part de mon expérience de développeur, en vous proposant un Framework qui n'a pas été cité : CodeIgniter. Parmi ceux auquel j'ai du faire face (Zend, Symfony, CodeIgniter), c'est clairement celui que j'ai trouvé le plus simple à prendre en main (intéressant pour une communauté comme celle-ci où on a pas tjrs affaire à des gens expérimentés). Il utilise le design pattern MVC ainsi que PDO, très léger, rapide à l'exécution, le développement de nouvelles fonctionnalités est d'une simplicité et la communauté est énorme et la documentation est très complète et très bien faite.
J'ai appris à mon frère à l'utiliser, avec quelques explications et un simple schéma : en 2/3 jours il était capable de faire ses propres pages et modules alors qu'il n'avait presqu'aucune connaissance en programmation... Malgré tout, CodeIgniter comporte tout un tas de fonctions super utiles et permet de faire des choses avancées et souvent compliquées à mettre en place (URL rewriting notamment) en 1 ligne dans un fichier de configuration pour ce cas ci.

Bref, j'ai toujours suivi NK de loin et quand j'ai découvert ce framework je me suis vraiment dit qu'il était parfaitement adapté à la communaté NK. Si j'étais un des admins, j'irais regarder à quoi ça ressemble, essayer de créer un petit truc vite fait histoire de me faire une idée et prendre une décision par la suite.
Sachez qu'il existe beaucoup d'autres framework basés sur celui-ci, je sais juste pas ce qu'ils valent exactement mais je suppose qu'ils sont encore un peu plus complets...

 

Voila, ça c'était mon petit conseil.
Et ce que je vous déconseil vivement, c'est de vouloir créer un framework par vous-même en partant de zéro, pur perte de temps

Si un jour vous avez besoin d'un petit coup de pouce au niveau développement ou si vous hésitez sur l'architecture à utiliser, n'hésitez pas (un mail c'est mieux qu'un message sur le forum).

 

 

Bonne soirée à tous, au plaisir de vous lire.

 

 



Edité par BuRner le 01/12/2012 - 20:26:42
Posté le 01/12/2012 - 20:24:19   Revenir en haut | Permalien
France.gif childpid
Junior Member



Messages : 48
Inscrit(e) le: 30/10/2012
RE : NkMVC, c’est l’histoire d’un PoC

Bonsoir,

Je rebondis très rapidement sur ce que dit Burger.

Pour avoir utiliser CI plusieurs fois de manière professionnelle, j'adhère parfaitement à ce qu'il dit.

CI est facile à prendre en main mais a aussi quelques lacunes contrairement à la puissante des Zend et Symfony.

Cependant, comme il le dit aussi, c'est un bon parti prit qui permettra de ne pas trop dépayser techniqueemnt les

développeurs actuels et futurs dans la réalisation de nouvelles fonctionnalités pour NK.

Ce baser sur ce framework serait très pertinent vous permettrait de vous donner les moyens de vos ambitions sans faire peur 

aux développeurs.

Et encore une fois, il serait très dommageable de créer un CMS from scratch, rien ne sert de réinventer la roue.

 

Cordialement

 

 



<p>rn <strong>Childpid</strong><br /> rn<br /> rn <strong><a href="https://github.com/childpid/Nk_Module_Installer" target="_blank"><span style="color:#ff0000">NkModuleInstaller</span></a></strong> <em>Easy install, update, remove your Nuked-Klan modules and patchs (still in development)</em></p> <p>rn</p> <p>rn <strong><a href="https://github.com/childpid/NkMVC"><span style="color:#ff0000">NkMVC </span></a></strong><em>Un PoC [Preuve de Concept] permettant d&#39;utiliser du MVC dans le CMS Nuked-Klan</em></p> <p>rn</p> <p>rn <a href="http://code.google.com/r/childpid-nuked-klan-nk18/source/list" target="_blank"><span style="color:#ff0000"><em><strong>Nk1.8 forked</strong></em></span></a></p> <p>rn</p>
Posté le 02/12/2012 - 00:49:29   Revenir en haut | Permalien
Belgium.gif PePeRePeRveRs
Vice-Président Association

Messages : 3672
Inscrit(e) le: 13/06/2004
RE : NkMVC, c’est l’histoire d’un PoC

Merci à toi aussi de partager ton expérience, BuRner !!

Je suis sûr qu'on en rediscutera



Avant d'ouvrir un sujet, n'oubliez pas de lire le règlement et faire une recherche sur le forum !

Posté le 03/12/2012 - 22:22:45   Revenir en haut | Permalien