Outils d'utilisateurs

Outils du Site


documentation_developpeurs:architecture_des_repertoires

Architecture des répertoire

Vous pouvez voir la hiérarchie des répertoires directement sur la PhpDoc : http://www.plici.net/doc/index.html

Pour savoir le contenu de chaque répertoire, il suffit de cliquer sur le lien détail présent à côté de chaque répertoire.

Concepts

Le besoin identifié

Nous devons réussir à séparer la plateforme des sites Internet qu’elle permet de créer.

Cela va permettre à tout utilisateur de notre plateforme de mieux gérer comme il le souhaite ses sites Internet et leur sauvegarde.

Le répertoire « bd »

Le concept

En fait, il ne faut pas un seul répertoire contenant les données, mais deux.

Un répertoire se nommant « bd/for_plici » contenant seulement les bases de données relatives à PLICI et un second « bd/my » qui va contenir les sites Internet que PLICI va mettre en place.

Dans les dossiers ‘bd/’ et dans ‘bd/for_plici’

On va y trouver tous les scripts fournis par PLICI et qui seront modifiés lors de la mise à jour de PLICI.

Le dossier ‘_all_sites’ va contenir les scripts modifiant les sites hébergés par PLICI suite à une modification du noyau de PLICI.

Le dossier ‘admin_super’ va contenir tous les scripts relatifs à PLICI et aux interfaces d’administration.

Les dossiers ‘themeXcom_site’ contiendront les scripts nécessaires à la mise en place du thème ‘themeXcom_site’. Cependant, il faut que tout script non joué dans cette arborescence soit automatiquement joué sur tous les sites qui héritent de ce thème.

Dans le dossier ‘/bd/my’

Le répertoire ‘bd/my’ ne devra pas être livré avec PLICI, mais durant l’installation il devra le créer (depuis la 1.0.0.RC4, les répertoires my sont livrés vide à cause des problèmes de droits).

Le dossier ‘_all_sites’ va contenir tous les scripts modifiant les sites hébergés par PLICI pour le besoin de l’utilisateur de PLICI.

Le dossier ‘admin_super’ va contenir tous les scripts relatifs à mes sites (ex :ajout d’un de mes sites sur PLICI).

Les dossiers de type ‘mon_siteX’ seront créés par PLICI lors de la mise en place d’un nouveau site. Ils contiennent les scripts seulement nécessaires au fonctionnement du site ‘mon_siteX’.

Le dossier ‘mon_themecom_site’ contient le thème que l’utilisateur de plateforme s’est créé. Cependant, il faut que tout script non joué dans cette arborescence soit automatiquement joué sur tous les sites qui héritent de ce thème.

Le répertoire « view/sites »

En fait, il ne faut pas un seul répertoire contenant la vue de l’ensemble des sites et des interfaces d’administration, mais il en faut deux.

Un répertoire se nommant « view/sites/for_plici » contenant les éléments composant la vue de PLICI et un second « view/sites/my » qui va contenir la vue des sites Internet que PLICI va créer.

PLICI utilise un système d'héritage de patrons html. En effet, lors de la création d'un nouveau site, il vous est demandé de sélectionner le thème que vous souhaitez utiliser. Une fois le site créé, PLICI va chercher à utiliser le patron situé dans le répertoire « view/sites/my/nom_du_site/template_not_compiled/nom_patron ». Si ce fichier n'existe pas, alors, il utilisera le fichier « view/sites/for_plici/nom_du_theme/template_not_compiled/nom_patron » ou nom_du_theme correspond au nom du thème sélectionné lors de la création du site. Ce formidable mécanisme permet de ne pas copier/modifier tous les fichiers d'un site, mais uniquement ceux nécessaires.

Dans le dossier ‘view/sites/for_plici/’

On va y trouver tous les fichiers fournis par PLICI et qui seront modifiées lors de la mise à jour de PLICI.

Le dossier ‘admin_sites’ va contenir les fichiers déterminants la façon dont on doit afficher les interfaces d’administration des sites Internet.

Le dossier ‘admin_plici’ va contenir les fichiers déterminants la façon dont on doit afficher PLICI.

Les dossiers ‘themeXcom_site’ contiendront les fichiers permettant l’affichage désiré pour le thème ‘themeXcom_site’.

Dans le dossier ‘view/sites/my’

Le répertoire ‘view/sites/my’ ne devra pas être livré avec PLICI, mais durant l’installation il devra le créer (depuis la 1.0.0.RC4, les répertoires my sont livrés vide à cause des problèmes de droits).

Les dossiers de type ‘mon_siteX’ seront créés par PLICI lors de la mise en place d’un nouveau site. Ils contiennent les fichiers nécessaires au fonctionnement du site ‘mon_siteX’.

Le dossier ‘montheme’ contient un thème créé par PLICI.

Le répertoire « core/entrees/front_sites »

En fait, il ne faut pas un seul répertoire contenant les entrees mais il en faut deux. Un répertoire « core/entrees/front_sites/for_plici » pour les entrées qui sont livrées avec PLICI.

Et un répertoire « core/entrees/front_sites/my » pour les entrées spécifiques à celles de l’utilisateur de la plateforme.

Il faut inclure ces deux répertoires dans l’include_path de façon à ce que, si un fichier n’est pas définit par l’utilisateur de la plateforme, alors seulement, un de nos fichiers est lu.

Cela va permettre que tout « include » réalisé dans une entrée aille dans le répertoire voulu par l’utilisateur de PLICI

De plus, il faut surcharger le mécanisme du start_fo pour qu’il aille chercher dans « core/entrees/front_sites/my » l’entrée souhaitée et que, s'il ne la trouve pas, il prenne celle présente dans « core/entrees/front_sites/for_plici ».

Dans le dossier ‘core/entrees/front_sites/for_plici’’

On va y trouver toutes les entrées fournies par PLICI et qui seront modifiées lors de la mise à jour de PLICI.

Dans le dossier ‘core/entrees/ front_sites/my’

On va y trouver toutes les entrées spécifiques à l’utilisateur de PLICI pour tous ses sites.

Ceci peut être vu comme un problème mais cela permet de disposer de toutes ses entrées dans un même endroit et donc que chaque site puisse utiliser celle qu’il souhaite.

Détail des actions étudiées pour cette architecture

Toute les phrases et interrogations sont posées à la première personne du singulier comme si l’utilisateur de PLICI se posait lui-même ces questions.

Je veux ajouter un script de donnée pour améliorer PLICI

- Je le place dans 'bd/for_plici/’ et je choisi le bon sous répertoire.

- Je le redonne à la communauté sinon je risque de perdre mes données (si PLICI à un script de même nom)

- Je fais un update_database en local pour tester

Je veux ajouter un script de donnée pour améliorer tous mes sites

- Je le place dans ‘bd/my/_all_sites’

- Je fais un update_database en local pour tester

Je veux ajouter un script de donnée pour améliorer un de mes sites

- Je le place dans ' bd/my/mon_site'

- Je fais un update_database en local pour tester

Je veux corriger/modifier un patron de PLICI (donc d'un thème ou d’administration)

- Je vais dans ‘view/sites/for_plici/un_theme’

- Je le redonne à la communauté sinon je risque de perdre mes données (si PLICI à un script de même nom)

Je veux corriger/modifier/créer un patron pour un de mes sites

- Je vais dans ‘view/my/mon_site’

Je veux modifier le fichier CSS d'un de mes sites

Ajout d'un nouveau CSS

Je rajoute une classe CSS spécifique dans le TPL du CSS et je vais l'utiliser dans un de mes TPL.

Je le test en local et je le place sur mon serveur.

Je veux adapter complètement le graphisme pour un site Internet

Je crée transforme le site en un thème.

Ce qui ouvre la particularité de pouvoir utiliser la page (ou script) permettant de modifier le site internet.

Impacte le script update_graphisme qui doit pouvoir être joué sur un site bien précis, pas forcément le site graphiste.simpliciweb.net. Ensuite passer ce script en page Web.

Je veux corriger/modifier/créer une entrée relative à PLICI

Si c’est en Back Office ou dans PLICI alors il faut choisir ‘admin_plici’ ou ‘admin_sites’.

Si c’est pour le Front Office, je vais dans ‘/core/entrees/front_sites/for_plici’ , je modifie la BD pour qu'il l'utilise (vu plus haut).

- Je le redonne à la communauté sinon je risque de perdre mes données (si PLICI à un script de même nom)

- Je fais un update_database en local pour tester

Je veux corriger/modifier/créer une entrée pour un de mes sites

Je vais dans ‘/core/entrees/front_sites/my’, je modifie la BD pour qu'il l'utilise (vu plus haut).

- Je fais un update_database en local pour tester

Je veux modifier un objet de PLICI, ou en créer un nouveau

Je vais dans ‘core/internal_components’.

- Je le redonne à la communauté sinon je risque de perdre mes données (si PLICI a un script de même nom)

Sinon je décide de faire un module.

/home/pliciweb/www_wiki/data/pages/documentation_developpeurs/architecture_des_repertoires.txt · Dernière modification: 2009/09/22 22:17 (modification externe)