Forum Clubic

[PHP] Leegoo : framework/CMS en construction - cherche collègue

salut,

y a peu je me suis lancé dans le dev. d’un framework/CMS (encore un)

mon but été de faire quelques chose de facilement skinnable et ouvert/extensible

pour la partie skinnable j’ai créer une classe qui decoupe un fichier html en layer (pseudo balise commentaire) et qui est capable de peupler reecrire ce template pour gérer les infos ‘dynamiques’

en gros quazi zero code html dans les plugins (brique logiciel)

pour la partie modulaire : tout fonctionne avec des plugins ( ensemble de fonction rangées par repertoire )

enfin je passe les détail mais ça me semble sympa comme début mais j’aimerais continuer le dev avec l’aide les critiques d’une communauté (enfin ça commence à 2)
organiser le dev autour d’un forge etc

demo :
http://davidberlioz.free.fr/pub/leegoo/leegoo.php
login: redac ou user
mdp: azerty

source:
http://davidberlioz.free.fr/pub/leegoo.zip

voilou si des developeurs sont interessé let me know

MAJ : plugin forum

Ca tourne sous php5.1.4 et mySQL ?

a partir de php 4 et + je me suis limité dans l’utilisation des classes et function (abstract etc ) expres pour rester maximum compatible

j’ai pas tout validé sous php 5 encore mais a priori pas de pb

sinon la connexion a la base est gerée par une classe clsql “pseudo abstract” dont j’ai fait 2 implementations pour l’instant oracle oci et mysql rien n’empeche de faire d’autre implementation

j’ai essaye d’utiliser un maximum les classes en etageant la prog…

voila le template qui permet de skinner l interface principal, c du pur html avec un systeme de balise en commentaire editable par frontpage (enfin si on veut lol)
http://davidberlioz.free.fr/pub/leegoo/tem…eegoo.tpl1.html

en naviguant dans ce repertoire il y a d autre template pour les differents plugin ‘dynamique’ chargé selon la rubrique
http://davidberlioz.free.fr/pub/leegoo/templates
les .to sont des templates “compilés” (un bete serialize() de l’occ. de la classe)

Ok.

Ca m’aurait vivement intéressé si je ne développais pas un cms uniquement en php5.1 (avec le souhait de faire un convertisseur php5 -> php4, notamment une interface se transforme en classe vide, etc).

en gros si tout est bien fait la partie a recoder se limite aux include des classes (modulo les references foireuses du php4) :wink:

pas forcement incompatible :slight_smile:

Oui mais moi je veux du true object :slight_smile:

(bon les références c’est pareil)

sauf pour les foreach :wink:

ben ok on recode tout ça en pure objet genre exercice de style alors

niveau plugin d’ailleur ça serait bien que ce soit des derivation d’une classe abstract aussi
j’ai hesité mais le php4 les classe c pas le top alors c resté des fonctions

mais avec ton histoire de rewriteur php5 => php4 ça peut etre pas mal…

la tout de suite faut que je continue en php4 because je me suis engagé a faire un site (c le declencheur qui m’a poussé a me mettre a la tache) il me reste un mini forum a faire

mais apres j’adore reecrire pour optimiser et systematiser le code !

questions :

t es avancé de combien dans ton cms ?

le rewriteur c en quoi : flex/bison ?

ps :

non sérieux je crois que ya moyen de concurrencé des truc comme spip ou joomla qui peche un peut pas le manque d evolutivité :slight_smile: (fleur gratos today)

il n’est pas avancé comme le tien, mais pensé réellement différement. J’utilise à fond le concept objet, sur beaucoup de points (systèmes de fichier, bdd, etc).

Notamment, la classe de base de données n’est pas écrite du tout de la même façon :slight_smile: y a plus de mon côté (avec des ResultSet, etc). Le système de fichier, j’ai pas encore fini, mais il doit permettre de faire des ACL.

Bref, j’ai pas encore fait 1% de ce que je veux, mais l’idée principale c’est que le CMS fournit le backoffice, et les gens bossent la partie utilisateur selon leur besoin.

(ie: pas d’articles, etc)

J’ai aussi pensé à un vrai installeur, mais bref. Je veux pas m’avancer sur ce que je n’ai pas encore fait :wink:

je suis sur que tu t es meme demandé si le systeme de fichier et les bdd n’était pas finalement des concepts mutualisables :slight_smile: et puis que dire d’un eventuel acces LDAP…
t parti des fin fond des fondations quoi… travail de fou :wink:

moi j’ai fait des choix et choisi des limites
je suis parti du “milieu de la chose” j’ai esquissé ce qui me sembalis etre le minimum syndical pour etre propre et ne pas coder comme un bourrin mais je ne voulais pas reinventer l eau chaude parce que sinon je me connais non selement j’aurais fai des classe pour le systeme de fichier mais pour les types commun (chaine, nombre, pattern etc) :wink: et j’aurais encore rien de concret…

et puis j’ai une obligation de resultat pour la fin mai, faut un site qui marche en vrai :slight_smile:

et puis ya une notion de perf… trop d’objet… enfin

mais en conclusion je pense que nos approches sont plutot complementaires meme s’il faudra sans doute se convaincre mutuelement de la pertinence de nos choix (aie)

donc si ça te branche , le principal c un site de doc pour les classes et definir des concepts de base : backoffice / framework / cms

bonne nuit

ps : ça fait que 3 semaines que je bosse dessus :wink: donc pas si avancé que ça

ps2 : on est d accord quand je dis cms c en fait pas un outil clé en main mais plutot un cadre pour un webmaster / developpeur qui pourra facilement maitriser le truc …

Non, je ne connais pas LDAP.

Mon système de fichier est une unité à part qui vient avec les droits :slight_smile: (vu que je gère groupe, utilisateur, et sites, bref)

Lightweight Directory Access Protocol

c une sorte de base de donnée orientée informations utilisateur/infrastructure

on s en sert souvent pour les mots de passe et les comptes mail

thunderbird permet par exemple de rechercher directement dans ce gendre d’annuaire …

ps : heu mais le systeme de fichier de linux gere pas deja des groupes et des utilisateurs :wink:

Non. En fait, l’utilisateur c’est httpd.

C’est une couche au dessus.

et tu utilise une base pour gerer les droits ? et un script du style doc.php?id=## avec le header qu’il faut pour telechargé/voir le fichier…

en tout cas c ce que j’ai fais en ultra light pour mes besoins

Ou la la, je viens de lire vos post, et je comprends rien du tout!!!

Quelqu’un pourrait m’expliquer vite fait les bases de votre travail? J’ai cru comprendre que le but, c’est de fournir des fonctions etc permettant de développer trés rapidement un site web sans connaître toutes les articulations nécessaires à la mise en forme, à moins que je me trompe?

perso, j’ai déjà mon framework “Kokoon”, développé durant les 3 dernières années en marge du taff …
'fin framework, c’est ptet un bien grand mot … on y retrouve des classes et des librairies pour traiter base de donnée, fichier, date, etc … ce n’est pas un CMS, dans le sens où il n’y a pas de système de template ou d’interface graphique …
à la base, j’avais développer une série de classe en PHP4 pour dissocier au maximum la partie graphique de la partie code, tout en simplifiant au maximum la création graphique …
il y’a une aussi tout une grosse partie de structuration de site …
j’y ai incorporé également pas mal d’objet libre (FPDF, jpGraph …)
depuis, la plupart du code est passé en PHP 5 …

au fil du temps, c’est devenu un peu un fourre tout :neutre:, et je suis en train de chercher comment je pourrais mieux organiser tout ça :oui:

en fait y a pas encore de "notre" travail …

il se trouve qu on travail tous les deux dans notre coin a un cms/framework de site…
avec chacun des idées bien précise sur la façon de coder :wink: et de très bonnes idées de part et d’autre je crois

pour ma part j’aurais bien developper dans le cardre d’un vrai petit projet avec un communauté et tout…

donc c ouvert à tous

typiquement : organiser tout ça c aussi mon but… :wink:

pour ça faudrait un site de documentation déjà pour decrire les classes de base, faire le tri etc…

UML pour la description, SubVersion pour le travail collaboratif, GanttProject pour la planification, Eventum pour le suivis de bug et de fonctionnalité :oui:

tu t en occupe ?
on attend ton url :wink: