• Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
DonkeyCMS
Staff
#1
Thumbs Up 
Bonjour,
Me voilà ici pour vous présenter un projet que je développe depuis maintenant 3 mois, plus ou moins intensivement ...

[Image: 070236donkey.png]

DonkeyCMS


DonkeyCMS ... ? Qu'est-ce que c'est ?

DonkeyCMS est tout d'abord comme vous vous en doutez, un CMS. Vient immédiatement la question ... Pourquoi cette section ?
Tout simplement parce que l'objectif même de Donkey est d'être un CMS modulable et pouvant faire fonctionner en parallèle une multitude de modules ayant leur propre architecture MVC afin que chacun ait le plus large éventail de possibilités.
Ainsi, vous pourrez l'utiliser principalement avec un module CMS Dofus, tout comme avec un CMS Metin2, un portfolio, un forum, etc ... Voilà pourquoi il n'est pas dans une section de jeux.

Un peu plus d'informations sur son système ?

Outre le fait d'être majoritairement écrit en orienté objet, le système de DonkeyCMS se base sur le design pattern HMVC :
Hierarchical Model–View–Controller
Ainsi, un premier module ayant cette organisation Modèle - Vue - Contrôleur sera chargé suivant l'URL. Je le qualifie de module Maître, car c'est lui sera appelé pour générer le template de la page, à la différence des modules secondaires qui auront néanmoins la possibilité de modifier ce template avant l’envoi, pour par exemple y injecter leur propre contenu.

Sinon, des objectifs en dehors de sa modularité ?

Je ne souhaite pas une usine à gaz, c'est pourquoi je m'efforcerai par la suite de garder le juste équilibre entre complet et performant.

Où en est le CMS actuellement ?

Le système étant toujours en plein développement, ne vous attendez pas à pouvoir tester le premier module dès demain.
Principalement, les points important me venant en tête :
  • Écriture d'un système de hooks pour éventuellement en venir à des plugins.
  • Implémentation d'un registre, à priori [Only registered and activated users can see links Click here to register].
  • Développement de la couche database, au minimum un CRUD
  • Éventuelle ré-éecriture totale du routage qui manque de souplesse
  • Dernier moment : Mise en place d'un backend pour la gestion du CMS (gestion modules, paramètres, logs, ...)
Liste non exhaustive, uniquement pour vous donner une idée de l'état du projet.

Pourquoi ce nom 'Donkey' CMS ?

Tout simplement à cause de la relation algébrique de mathématique complexe suivante :
CMS Modulable <=> Souplesse <=> Agilité <=> Singe <=> Donkey Kong

Des objectifs et attentes sur la 'popularisation' du CMS ?

Absolument aucun. J'ai entreprit son développement pour une unique raison :
  1. Mettre en pratique le pattern HMVC découvert par le biais d'Sgt Fatality et son kowFramework et m'entraîner toujours et encore
Cependant, ça me ferait bien évidement plaisir si des développeurs faisaient et partageaient leur module avec Donkey, et si le CMS parvenait à avoir un petit éventail de modules.

CMS payant ?

Jamais. Si il aboutit, je pourrai venir à vendre un module par nécessité, mais jamais le CMS qui est partagé en open-source depuis le début.


Voilà, je termine ce sujet en vous donnant le lien des sources :
[Only registered and activated users can see links Click here to register]

J'ouvre aussi le CMS au publique en quête d'avis critique extérieur pour m'améliorer, donc je vous en serai reconnaissant si vous avez des critiques constructives à apporter au code et à l'organisation du CMS Content

Bonne journée
[Only registered and activated users can see links Click here to register]

[Only registered and activated users can see links Click here to register]
  Répondre
#2
J'ai hâte de voir le résultat. Si j'avais une suggestion, penses à y inclure un système simple de variables constantes pour les différentes MVC, ça peut être utile Content
Par exemple, on fait : $_set->publicVar('maVariable', 'Une donnée') et on peut la récupérer depuis n'importe quel model si on fait $_get->publicVar('maVariable');
Pour un CMS, ça peut être utile pour une variable de connexion, plus sécurisé qu'un cookie si c'est inclut directement sur le site.

#Alkimyst
[Image: 295436Alkmys.png]
[Only registered and activated users can see links Click here to register]
« A change of mind means changing many things. That's why I'm now Alkimyst. »
  Répondre
Staff
#3
D'abord merci pour le commentaire Content

(08-08-2013, 11:19)#Alkimyst a écrit : J'ai hâte de voir le résultat. Si j'avais une suggestion, penses à y inclure un système simple de variables constantes pour les différentes MVC, ça peut être utile Content
Par exemple, on fait : $_set->publicVar('maVariable', 'Une donnée') et on peut la récupérer depuis n'importe quel model si on fait $_get->publicVar('maVariable');
C'est une bonne idée en soit, mais n'aurait selon moi d'utilité que si les modules étaient liés. Or là ils sont indépendants, venant de développeurs de tout horizon & pouvant servir des objectifs tout à fait différents. Donc comment l'un deux pourrait venir à utiliser une variable stockée en global par un autre module, qui pourrait aussi bien ne pas être installé & donc le besoin du module 'demandeur' insatisfait ? Ou peut-être que j'ai mal comprit ton idée Content

Citation :Pour un CMS, ça peut être utile pour une variable de connexion, plus sécurisé qu'un cookie si c'est inclut directement sur le site.
Hm, tu parles de variables constantes au sens de la même manière que des sessions ou cookies ; stockées sur le serveur ?
Sinon ton cas d'utilisation est une bonne idée, le module gérant une connexion stocke les variables relatives en global et qui en veut les utilise.
Mais cela voudrait dire que ces modules sont dépendants de l'installation et même de l'activité du premier module lors de chaque chargement de page commun ? (J'espère que tu m'as comprit)

Merci de m'éclairer sur ta suggestion Content
[Only registered and activated users can see links Click here to register]

[Only registered and activated users can see links Click here to register]
  Répondre
#4
En fait, je pensais à une sorte de define() remodelé.
[Image: 295436Alkmys.png]
[Only registered and activated users can see links Click here to register]
« A change of mind means changing many things. That's why I'm now Alkimyst. »
  Répondre
Staff
#5
D'accord je vois. Mais à ce moment là autant utiliser directement les constantes classiques pour ne pas alourdir inutilement le code, avec au final le même résultat (Sauf si tu as une idée du concept qui diffère des constantes php).
[Only registered and activated users can see links Click here to register]

[Only registered and activated users can see links Click here to register]
  Répondre
#6
Bonne idée ! Je t'encourage à continuer !
I come back.

Recherche un ou des Modélisateur(s) & Animateur(s) 3D. Envoyez un MP.
  Répondre
#7
La différence serait qu'elles soient utilisées avec une variable et non sans '$', et qu'elles soient limitées à certaines pages, pour ne pas influencer ton system.
Exemple : je definie une variable déjà existente pour ton système, ça fou en l'air tout le cms comme si je mets define('path', '') et que cette variable est utilisée dans un de tes scripts, ça peut provoquer certaines erreurs indésirables.
[Image: 295436Alkmys.png]
[Only registered and activated users can see links Click here to register]
« A change of mind means changing many things. That's why I'm now Alkimyst. »
  Répondre
Staff
#8
Ok, bon franchement je ne pense pas que c'est très utile étant donné l'indépendance de chaque module et que l'utilisateur est libre de communiquer comme il le souhaite à l'intérieur de son architecture MVC. Mais ça reste une idée envisageable suivant l'évolution du CMS ;)
Développement mit en 'mini-pause' le temps de profiter de mes vacances et développer mes autres projets.
[Only registered and activated users can see links Click here to register]

[Only registered and activated users can see links Click here to register]
  Répondre
#9
/UP\
Alors Nicky, on abandonne ? Smiley_12
Funky-PsychoZ Serveur :: Stoppé..
[Image: 1337329665-Konan.png]
.. Fini le temps du troll pedobear, voici venu le temps du Kay pro et sérieux ..
  Répondre
#10
Très intéressant comme projet :O
D'autant que je me suis mis assez récemment à la POO donc je vais observer un peu les sources et si je trouve des possibilités d'améliorations ou d'autres idées je te ferais signe.
D'ailleurs je vais m'ouvrir un compte GitHub Content


XIII
  Répondre




Utilisateur(s) parcourant ce sujet : 1 visiteur(s)