Date de publication: le mercredi 2 mai 2007 à 18h51
Dernière modification: par Pascal BOYER le samedi 5 janvier 2008 à 06h12
« Article précédent: eZ publish: les fichiers de configuration
» Article suivant: eZ publish: les designs
Heureux celui qui comprend qu'il est nécessaire
de changer beaucoup pour rester toujours le même.
Dédinition
- Un siteaccess c'est un ensemble de fichiers de configuration de surcharge (les fichiers .ini.append.php).
Voici, par exemple, la liste des fichiers de surcharge qui composent, par défaut, le siteaccess site_public que j'ai défini lors de la phase d'installation du site qui m'a servi d'exemple pour la rédaction de l'article eZ publish : installer la version 3.9.1 :
ls -la settings/siteaccess/site_public/
total 44 drwxrwxrwx 2 www-data www-data 4096 2007-04-03 13:59 . drwxrwxrwx 5 root root 4096 2007-04-02 19:05 .. -rw-rw-rw- 1 www-data www-data 152 2007-04-02 18:36 content.ini.append.php -rw-rw-rw- 1 www-data www-data 43 2007-04-02 18:36 design.ini.append.php -rw-rw-rw- 1 www-data www-data 780 2007-04-02 18:36 menu.ini.append.php -rw-rw-rw- 1 www-data www-data 11899 2007-04-02 18:36 override.ini.append.php -rw-rw-rw- 1 www-data www-data 928 2007-04-02 18:36 site.ini.append.php -rw-rw-rw- 1 www-data www-data 87 2007-04-02 18:36 viewcache.ini.append.php
:
Un siteaccess est un répertoire qui ne contient que des fichiers de configuration ini.append.php
- Un siteaccess porte un nom: celui du répertoire qui contient les fichiers de configuration.
- Le nom d'un siteaccess ne doit contenir que des lettres, des chiffres et le symbole underscore ("_")
Il suffit donc de regarder la liste des sous-répertoires du répertoire settings/siteaccess/ pour savoir exactement quels siteaccess sont présents sur le système.
Toujours en me basant sur le site que j'ai installé pour rédiger l'article
eZ publish : installer la version 3.9.1
, je peux dire, qu'à la fin de l'installation, mon système est composé des 4 siteaccess suivants:
ls -la settings/siteaccess/
total 20 drwxrwxrwx 5 root root 4096 2007-04-02 19:05 . drwxrwxrwx 4 root root 4096 2007-04-03 11:53 .. drwxrwxrwx 2 root root 4096 2007-03-14 16:31 admin drwxrwxrwx 2 www-data www-data 4096 2007-04-02 18:36 interface_admin drwxrwxrwx 2 root root 4096 2007-03-14 16:31 setup drwxrwxrwx 2 www-data www-data 4096 2007-04-03 13:59 site_public
Sur ces quatres siteaccess, deux ne servent à rien ( admin et setup - ils sont simplement copiés à l'identique depuis l'archive ezpublish-3.9.1-gpl.tar.gz vers notre disque dur) et les deux autres sont ceux que j'ai créés à l'étape de la figure 14 dans l'article eZ publish : installer la version 3.9.1 .
- Le mot siteaccess désigne la plupart du temps le répertoire qui abrite les fichiers de surcharge.
- Les siteaccess (les répertoires donc) sont situés obligatoirement dans le répertoire settings/siteaccess/
- Une même installation de eZ publish peut gérer une très grande quantité de siteaccess (théoriquement, une infinité).
A quoi ça sert
Très concrètement, un siteaccess sert à créer un espace web pour lequel on va définir, par l'intermédiaire des fichiers de surcharge (les fichiers .ini.append.php), un comportement particulier de notre choix.
A la fin de toute installation de eZ publish nous retrouvons toujours les deux siteaccess dont nous spécifions le nom pendant la phase d'installation (étape de la figure 14 dans l'article eZ publish : installer la version 3.9.1 ). Ces deux siteaccess ont chacun une fonction bien particulière.
Dans le cas du site qui me sert d'exemple (mais cela est vrai pour toute installation nouvelle de eZ publish), je trouve:
-
le siteaccess public: celui qui se rapporte au répertoire settings/siteaccess/site_public/
Le siteaccess public contient les fichiers de configuration de surcharge qui gèrent le fonctionnement du site public.
-
le siteaccess d'admin: celui qui se rapporte au répertoire settings/siteaccess/interface_admin/
Le siteaccess d'admin contient les fichiers de configuration de surcharge qui gèrent le fonctionnement de l'interface d'administration du site.
Si nous souhaitons que, dans le futur, notre site contienne des objets (articles, news, forum, images, etc...) dont le contenu ne soit accessible qu'aux utilisateurs qui se seront préalablement logués, et bien nous commencerons par créer un nouveau siteaccess (par exemple settings/siteaccess/acces_prive) dans lequel nous placerons ensuite des fichiers de surcharge qui définiront le fonctionnement de cette partie privée de notre site.
Bien évidemment, le plus dur est de savoir ce que doivent contenir les fichiers de surcharge.
Le fichier site.ini.append.php
C'est certainement le fichier de configuration le plus important d'un sitaccess.
:
D'un siteaccess à l'autre, on retrouve bien souvent les mêmes fichiers de surcharge, c'est à dire de même nom (mais contenant des valeurs différentes).
Accès au siteaccess
Par défaut, tous les URI d'un site tournant sous eZ publish contiennent le siteaccess utilisé et en rapport avec la page affichée.
Par exemple, par défaut, tous les URI du site public Lux Populi commencent par:
http://luxpopuli.org/index.php/luxpopuli/
où le nom du siteaccess public utilisé apparaît juste après index.php. Cet URI dévoile donc à chaque visiteur que mon système contient un siteaccess nommé luxpopuli et donc un répertoire settings/siteaccess/luxpopuli/
Par contre, les URI de l'interface d'administration du même site, commencent, eux, par:
http://luxpopuli.org/index.php/luxpopuli_admin/
Donc, cette fois-ci, le siteaccess utilisé est luxpopuli_admin et mon système contient le répertoire settings/siteaccess/luxpopuli_admin/
Bien qu'il soit possible, par le biais justement des fichiers de surcharge, de supprimer l'affichage du siteaccess dans les URI, en interne, c'est à dire dans la base de données, les adresses de base auxquelles se réfère le système restent celles contenant le nom du siteaccess.
Puisque par le truchement des URI, le système connaît, pour chaque page affichée, le siteaccess associé, il peut en conséquence savoir quels fichiers de surcharge il doit prendre en compte et surtout où les trouver.
Le siteaccess obligatoire
Pour que le système fonctionne, c'est à dire pour que l'accès au site public ne renvoie pas un message d'erreur, il est obligatoire que le fichier de surcharge globale:
settings/override/site.ini.append.php
existe et contienne au strict minimum ceci:
[SiteSettings] DefaultAccess=site_public
La deuxième ligne indique au système quel est le siteaccess qui doit être utilisé lorsque les URI ne le précisent pas.
Or, la page d'accueil d'un site est la plupart du temps de la forme http://www.monsite.fr et ne contient bien sûr aucune référence au siteaccess à utiliser.
Ce qui veut dire que si ce fichier de configuration ne contient pas la deuxième ligne présentée ci-dessus alors vous êtes condamnés à donner comme URI pour la page d'accueil de votre site un URI de la forme http://www.monsite.fr/index.php/mon_siteaccess/
A propos des surcharges
Je rappelle qu'il est possible de créer autant de siteaccess que l'on souhaite et que pour chacun d'eux on définit, la plupart du temps et grâce aux fichiers de surcharge, un comportement particulier.
:
On peut définir un comportement commun à tous les siteaccess simplement en définissant les paramètres qui règlent ce comportement dans des fichiers de surcharge que l'on placera dans le répertoire de surcharge globale settings/override/














