OVH Cloud OVH Cloud

Framework applicatif

8 réponses
Avatar
Damien Metzler
Bonjour à tous,

je souhaite commencer le développement d'une plateforme de
création/gestion de contenu dans un premier temps (gestion de projet
dans un deuxième)

Pour cela je dois gérer une authentification etc etc....

N'ayant pas forcément envie de réinventer la roue, et ceci n'étant pas
forcément le plus intéressant du projet, qqn connaitrait-il un framework
applicatif simple et efficace me facilitant le travail ;-)

Je recherche entre autres les fonctionnalités suivantes :
- authentification (user / group / roles)
- gestion de modules (1 module = 1 appli )
- couche d'abstraction de base de donnée
- système de template et de cache

Je recherche de mon coté sur Google bien sûr

Merci d'avance

8 réponses

Avatar
nicolas champenois
Hello

je souhaite commencer le développement d'une plateforme de
création/gestion de contenu dans un premier temps (gestion de projet
dans un deuxième)


Bienvenue au club, c'est ce que je suis en train de faire!
Quelles fonctionalités souhaites-tu voir paraitre dans ton CMS?
Je te donne les miennes :
- gestion des utilisateurs, groupes et abilitations (admin...)
- gestion d'une arborescence stoquée dans la bdd (nested sets pour le
modèle choisi)
- gestion des droits sur chaque dossier de l'arborescence (lecture,
ecriture, validation de publication, gestion des droits...) pour chaque
utilisateur/groupe
- mise en ligne de fichiers dans cette arborescence
- redaction d'articles en ligne
- validation avant publication
- gestion des news pour le contenu publié
- moteur de recherche
- ... c'est tout (pour la premiere version)

Je te donne en réponse les solutions que j'ai choisies.

- authentification (user / group / roles)


== Pour le moment j'ai fait 3 tables maison :
+ utilisateurs (id, login, mdp, abilitation)
+ groupes (id, nom)
+ rel_utilisateurs_groupes(utilisateur_id, groupe_id)

== et pour les droits
+ droit_groupe_dossier (groupe_id, dossier_id, droits)
+ droits_utilisateur_dossier (utilisateur_id, dossier_id, droits)

et je pense me tourner vers LDAP, du moins j'ai cru comprendre que
c'était la solution la plus appropriée.

- gestion de modules (1 module = 1 appli )


Je suis preneur...

- couche d'abstraction de base de donnée


J'ai utilisé ADODB dans un premier temps et maintenant j'ai une petite
classe maison pour postgreSQL...

- système de template et de cache


QuickTemplate, je l'ai choisit après conseil dans un forum et je ne
regrette pas...
phemplate semble interessant aussi, à première vue.
A vrai dire je n'ai pas eu le courage d'explorer la jungle des solutions
existantes.

Je recherche de mon coté sur Google bien sûr


Je suis preneur pour tes solutions trouvées :)

Avatar
Damien Metzler
Hello

je souhaite commencer le développement d'une plateforme de
création/gestion de contenu dans un premier temps (gestion de projet
dans un deuxième)



Bienvenue au club, c'est ce que je suis en train de faire!
Quelles fonctionalités souhaites-tu voir paraitre dans ton CMS?
C'est pas vraiment un CMS, il proposera des fonctions qui se rapprochent

d'un CMS mais il fera plus que ça.
Ce qui m'intéresse pour l'instant c'est justement le frameword
applicatif : savoir si il existe déjà des solutions toutes faites ou non.

Je te donne les miennes :
- gestion des utilisateurs, groupes et abilitations (admin...)
Fait partie du frameword (authentification)


- gestion d'une arborescence stoquée dans la bdd (nested sets pour le
modèle choisi)
Fait partie de l'implémentation du CMS


- gestion des droits sur chaque dossier de l'arborescence (lecture,
ecriture, validation de publication, gestion des droits...) pour chaque
utilisateur/groupe
Croisement entre la partie authentification/gestion des droits + CMS

Pour moi chaque objet contenu dans l'application possède des droits. Et
donc ça fait partie du Framework à part entière, le CMS ne faisant que
dériver de l'objet contenu de base. J'aimerais faire un truc un peu du
genre du CMF dans Zope.

- mise en ligne de fichiers dans cette arborescence
- redaction d'articles en ligne
- validation avant publication
- gestion des news pour le contenu publié
- moteur de recherche
- ... c'est tout (pour la premiere version)
Tout ça fait partie de ton application de type CMS. Moi je n'ai pas

cette vision et j'ai plus une vision Gestion de projet.


Je te donne en réponse les solutions que j'ai choisies.

- authentification (user / group / roles)



== Pour le moment j'ai fait 3 tables maison :
+ utilisateurs (id, login, mdp, abilitation)
+ groupes (id, nom)
+ rel_utilisateurs_groupes(utilisateur_id, groupe_id)

== et pour les droits
+ droit_groupe_dossier (groupe_id, dossier_id, droits)
+ droits_utilisateur_dossier (utilisateur_id, dossier_id, droits)

et je pense me tourner vers LDAP, du moins j'ai cru comprendre que
c'était la solution la plus appropriée.

Je ne m'intéresse pour l'instant pas à l'implémentation de la

sérialization de mes objets mes plus à mes objets et leur interfaces
pour l'instant.

- gestion de modules (1 module = 1 appli )



Je suis preneur...

Hé Hé ...

Dans un premier temps, je pense que je vais développer le Framework
étant donné qu'aucune solution ne me plait vraiment aujourd'hui (et vu
les réponses que j'ai eues...).

Je pense que le Framework sera un "réceptacle" d'application que tu
pourras installer au fur et à mesure avec des procédures d'install plus
ou moins automatiques. Genre tu upload le tar.gz ou tu files un lien et
ça s'installe tout seul, ça pose des question pour la configuration etc...

- couche d'abstraction de base de donnée



J'ai utilisé ADODB dans un premier temps et maintenant j'ai une petite
classe maison pour postgreSQL...

Je pensais aussi prendre AdoDB qui semble être le plus évolué actuellement.


- système de template et de cache



QuickTemplate, je l'ai choisit après conseil dans un forum et je ne
regrette pas...
phemplate semble interessant aussi, à première vue.
A vrai dire je n'ai pas eu le courage d'explorer la jungle des solutions
existantes.

Pareil... (Templeet peut être aussi...)


Je recherche de mon coté sur Google bien sûr



Je suis preneur pour tes solutions trouvées :)


horde, binarycloud ...


Avatar
Sebastien
- système de template et de cache



QuickTemplate, je l'ai choisit après conseil dans un forum et je ne
regrette pas...
phemplate semble interessant aussi, à première vue.
A vrai dire je n'ai pas eu le courage d'explorer la jungle des solutions
existantes.

Pareil... (Templeet peut être aussi...)



Par curiosité, j'aimerais savoir pourquoi pas Smarty ?


horde, binarycloud ...


Je suis allé faire un tour sur les sites... mais j'ai pas compris, elles
servent à quoi ces applis ?



Avatar
Sebastien
"Damien Metzler" a écrit dans le message
de news:bk41hm$ctt$
horde, binarycloud ...



Je suis allé faire un tour sur les sites... mais j'ai pas compris, elles
servent à quoi ces applis ?


Ce ne sont justement pas des applis, mais des frameworks. En le
framework te donnes des bases de développement (briques) qui te
permettent de développer ton site sur une base déjà faite.

Généralement ce qu'on attend d'un framework web (enfin pour ma part),
c'est la gestion des utilisateurs (connexion, login, password, roles et
groupes), une couche d'abstraction de connexion à la base de données. Un
système de template peut s'avérer très pratique. Enfin pour ma part
j'aimerais un framework permettant de faire du multi-application, chaque
application pouvant se référer à une autre avec un système de dépendance
etc...


Franchement merci, j'ai enfin compris ce que c'était un framework :-)

Malheureusement je ne peux pas d'aiguiller, je ne connais pas qui comblerai
tes désirs :-(

Par contre si par hasard, tu ne connais pas smarty, je te le conseil, c'est
un très bon moteur de template. En plus il est bien documenté.

Sébastien



Avatar
John Gallet
framework te donnes des bases de développement (briques) qui te
permettent de développer ton site sur une base déjà faite.
Franchement merci, j'ai enfin compris ce que c'était un framework :-)



Dans le temps on disait "librairie(s)". Mais c'est 'achement plus
couillu^Wcrétin^Wprofessionnel^Wà la mode de dire "framework".

JG


Avatar
nicolas champenois
Sebastien wrote:
QuickTemplate, je l'ai choisit après conseil dans un forum et je ne
regrette pas...
phemplate semble interessant aussi, à première vue.


Pareil... (Templeet peut être aussi...)


Par curiosité, j'aimerais savoir pourquoi pas Smarty ?


En ce qui me concerne c'est simplement que je n'ai pas encore trouvé
l'interêt d'utiliser le language de smarty alors que le PHP me permet
d'en faire autant.

L'intérêt des templates c'est de séparer le code PHP du code HTML.
Mais je veux continuer à utiliser le PHP comme language de programmation
afin de piloter les templates. En comparant le code nécessaire avec
quicktemplate ou smarty :

<?
// smarty.php
$nom = 'Fred';
$smarty = new Smarty;
$smarty->assign('nom', $nom);
$smarty->display('smarty.tpl');
?>

<!-- smarty.tpl -->
{if $nom eq "Fred"}
Welcome Sir {$nom}.
{elseif $nom eq "Wilma"}
Welcome Ma'am {$nom}.
{else}
Welcome {$nom}, whatever you are.
{/if}

===============================
<?
//quicktemplate.php
$nom='Fred';
$tpl = new QuickTemplate('quickTemplate.tpl');

$tpl->assignLocal('main', $nom);
if ($nom == 'Fred')
$tpl->parse('main.sir');
elseif ($nom =='Wilma')
$tpl->parse('main.maam');
else
$tpl->parse('main.sepa');

$tpl->quickPrint();
?>

<!-- quicktemplate.tpl -->
<!-- BLK : main -->
<!-- BLK : sir -->Welcome Sir {nom}.<!-- END_BLK : sir -->
<!-- BLK : maam -->Welcome Ma'am {nom}.<!-- END_BLK : sir -->
<!-- BLK : sepa -->Welcome {nom}, whatever you are.<!-- END_BLK : sir -->
<!-- END_BLK : main-->


En fait ce sont deux approches différentes. Avec quickTemplate je me
contente de séparer ma page en blocks et si je les 'parse' ca affiche le
contenu du block. Au final c'est le même principe sauf que la page de
template reste 'saine de code'. Ayez pitié pour nos pauvres
infographistes ;).



Avatar
Damien Metzler

Dans le temps on disait "librairie(s)". Mais c'est 'achement plus
couillu^Wcrétin^Wprofessionnel^Wà la mode de dire "framework".


Ouais c'est un peu méchant quand même ;-)

Pour moi (sans aucune prétention de ma part) une librairie c'est plus
une collection de fonctions utiles à un programme (ex gd : ensemble de
fonctions permettant de manipuler des images)

Je vois un framework comme une collection d'objets définissant une
architecture complète dans laquelle viennent s'inscrire les applications.

Avatar
Thierry Thomas
Lundi 15 septembre 2003 à 21:39 GMT, nicolas champenois a écrit :

L'intérêt des templates c'est de séparer le code PHP du code HTML.


Une petite lecture intéressante à ce sujet (en anglais...) :
<http://www.massassi.com/php/articles/template_engines/>.
--
Th. Thomas.