je fais un topo dès que j'ai tous mis à plat.
Comme promis.
Voici l'architecture que j'ai mise en place.
Je n'ai utiliser aucun framework connu, j'ai codé mon propre modèle MVC avec un niveau de plus que j'ai appelé Application, ce qui me donne en gros n application(s) comprenant n module(s), n vue(s) et n controller(s) et le tous utilisant les mêmes classes.
Alors pourquoi ne pas avoir utiliser un framework éxistant me direz-vous, et bien tout simplement parceque j'aime bien utiliser mes propres outils, au moins je sais ce qu'il se passe dans mes applis. De plus ce framework est spécifique à ma société et contient des objets relatifs à celle-ci (agence, region, etc...)
Arborescence de mon architecture:
--apps (répertoire contenant toutes les applications)
----global (l'application globale, qui contient le layout global, la config global, etc...)
------config
------locale(non implémenté)
------modules
------tpl
----application 1
------config (fichier de config de l'application courante)
------lib
--------model (model des objets spécifique à l'application)
------locale (non implémenté)
------modules (contient tous les controllers)
------tpl (contient les templates _list & _form de l'application)
----application 2
------config
------lib
--------model
------locale(non implémenté)
------modules
------tpl
--core (coeur du framework)
----contient toutes les classes nécessaires au bon fonctionnement du framework (core, coreAcl, coreAction, coreAgence, coreApplication, coreAutoload, coreConfiguration, coreController, coreDatabase, coreDebug, coreexception, coreFile, coreLDAP, coreMailer, coreModule, coreNTLM, coreObjectFactory, corePagination, coreQueryBuilder, coreRegion, coreRequest, coreresponse, coreRole, coreSession, coretableFactory, coreurl, coreUser, coreView, coreViewPartial)
--logs
----les logs d'erreurs
--plugins
----les plugins externes (phpMailer, phpExcel)
--scripts
----scripts divers pour l'entretien
--sql
----sauvegarde du schéma de la base
--temp
--upload (pas encore eu l'utilité, je ne sais pas si je vais laissé ça ici)
--web
----css
----img
----js
.htaccess
index.php => le bootstrap
Voila, cela me permet de gérer toutes mes applications en utilisant le même socle, authentification NTLM + LDAP, gestion des utilisateurs centralisé, etc...
J'ai quasiment fini ma deuxième applications et pour le moment ça roule.
Il y a bien des points qui ne me conviennent pas, mais je flanche pour améliorer l'ensemble.