Janvier 2008
Joomla permet de créer et gérer un site internet dynamique sans connaissance technique particulière grâce à une interface d'administration.
Il est par contre nécessaire de bien connaître les éléments constituants un site Joomla et de comprendre leurs interactions, pour ce faire nous allons nous aider d'UML.
Sommaire |
1 Première Approche
Nous allons dans cette première approche réduire le champ des fonctionnalités de Joomla et considérer les cas d'utilisation suivants :
Afin de satisfaire les besoins de l'acteur Lecteur (page, contenu, menu), l'acteur Administrateur va devoir agir sur les différents éléments d'un site Joomla, éléments que nous allons représenter à l'aide de diagrammes de classes.
1.1 Vue d'Ensemble
Ce diagramme n'est naturellement pas exhaustif, mais il représente les objets nécessaires à l'Administrateur pour satisfaire les besoins du Lecteur :
Nous y retrouvons les pages, leur contenu, les menus (classe dérivée des modules) et les informations de publication (ces informations déterminent si l'élément est ou sera accessible au Lecteur sur le site Joomla).
1.2 Le Contenu
Nous ne présentons pas l'ensemble des classes dérivées de ListeArticles disponibles dans Joomla (les classes JournalArticles correspondent à "Blog de ..." dans l'interface d'administration de Joomla) :
1.3 Les Menus
Les menus de Joomla sont en fait constitué de liens vers le contenu du site. Pour simplifier le diagramme, nous n'avons pas représenté les classes dérivées de la classe abstraite LienMenu qui correspondent aux différentes classes dérivées de la classe Contenu. Par contre, il est important de noter que les instances des ListeArticles n'existent qu'à travers la création du LienMenu correspondant (composition) :
1.4 La Publication du Contenu et des Menus
Bien que l'Administrateur puisse créer et gérer le contenu du site et définir la manière de naviguer sur le site, le lecteur ne pourra pas accéder à ces éléments. Il reste à définir les informations de publication du contenu et des menus (étape absolument nécessaire avec Joomla).
1.4.1 Publication
Nous abordons la publication Joomla de manière détaillée, car seule une connaissance complète du mécanisme permet à l'Administrateur d'obtenir le résultat voulu. Nous considérerons une classe Publication ayant une méthode estPublié() qui retourne oui ou non :
Un objet de la classe Publication sera ensuite associé à chaque élément du site Joomla pouvant être publié. Les objets de la classe PublicationDatéeChaînée possèdent en plus les méthodes enPageAccueil() et ordrePageAccueil() qui vont déterminer dans le cas où estPublié() == oui s'ils sont présents sur la page d'Accueil et dans quel ordre respectif.
1.4.2 Les Articles publiés
Comme nous pouvons le constater sur le diagramme ci-dessous la publication des Articles Catégorisés dans Joomla dépend de la publication de sa Catégorie et de la publication de la Section de la catégorie, c'est pourquoi il faut bien prendre en compte ces relations chaînées.
1.4.3 Les Menus et Liste d'Articles publiés
La publication des Menus classe dérivée de Module se gère par la publication des Modules, celle des Listes d'Articles se gère à travers la publication des Elements de Menus.
1.5 La Page d'Accueil
Il nous reste à aborder la cas particulier de la page d'Accueil du Site Joomla pour en terminer avec cette première approche d'un site Joomla :
2 Confidentialité et Utilisateurs (niveaux d'accès et groupes)
La confidentialité et les utilisateurs sont étudiés ensemble puisqu'à chaque élément du site peut-être associé un niveau d'accès qui le rendra accessible ou non accessible en fonction du groupe d'utilisateur auquel appartient l'acteur qui souhaite le consulter.
2.1 Confidentialité (niveaux d'accès)
Il y a trois niveaux d'accès :
- le niveau Public
- le niveau Inscrit
- le niveau Utilisateur
soit dans l'interface d'administration : Public, Membre et Special
Nous ajoutons à la notion de Publication la notion de Niveau d'Accès sous la forme d'une énumération :
Il faut bien comprendre qu'une même page Joomla peut avoir des éléments de niveau d'accès différents.
A chacun de ces niveaux d'accès correspond un type d'acteur, ces types sont les suivants :
- l'acteur Lecteur
- l'acteur LecteurInscrit
- l'acteur Utilisateur
LecteurInscrit et Utilisateur doivent s'être identifiés à l'aide d'un classique couple identifiant/mot de passe. Le terme contenu est à prendre au sens large dans les cas d'utilisation et ne correspond pas uniquement à la classe abstraite contenu.
Au niveau de l'interface d'administration LecteurInscrit correspond au groupe Registered et Utilisateur à l'ensemble des autres groupes d'utilisateurs : Author, Editor, Publisher, Manager, Administrator, Super Administrator.
2.2 Utilisateurs (groupes)
Un Utilisateur est un acteur qui va pouvoir modifier le site, il peut intervenir essentiellement au niveau Article et/ou au niveau Adminsitration. Il existe 6 types d'Utilisateurs différents.
2.2.1 Utilisateurs et Articles
Ces utilisateurs interviennent depuis la partie Publique du site Joomla :
soit dans l'interface d'administration :
| Type d'Utilisateur | Groupe Administration |
|---|---|
| Auteur | Author
|
| Redacteur | Editor
|
| Editeur | Publisher
|
2.2.2 Utilisateurs et Administration
Ces utilisateurs interviennent depuis la partie Administration du site Joomla :
Ce sont aussi des Editeurs qui peuvent intervenir sur les articles depuis la partie Publique ou la partie Administration.
Ce qui nous donne dans l'interface d'administration :
| Type d'Utilisateur | Groupe Administration |
|---|---|
| Gestionnaire | Manager
|
| Adminstrateur | Administrator
|
| SuperAdministrateur | Super Administrator
|
3 Modules, Menus et Pages Joomla
Dans notre première approche, nous avons considéré que les modules étaient identiques pour toutes les pages du site. Nous allons voir maintenant que l'on peut attribuer à chaque page une liste de modules différente des autres pages.
- L'objectif est donc d'obtenir le schéma suivant :
- Dans les faits, l'association entre Module et PageJoomla se fait par l'intermédiaire du LienMenu qui permet d'accéder à la PageJoomla correspondante :
(on remarquera qu'étant donné que Les Menus sont des Modules, il est possible d'associer un menu à ses propres liens, ce qui aura pour conséquence que la PageJoomla et le Menu ne seront jamais accessibles)













