Types d'extension (définitions générales)
From Joomla! Documentation
Il existe cinq types d'extensions disponibles dans un site web Joomla!.
- Templates – ils définissent la présentation, l'ambiance et les capacités de votre site web
- Modules – les données existent déjà et vous voulez simplement les afficher d'une manière différente sur votre site
- Plugins – les données, le contenu, ou des fonctions personnalisées remplacent des informations dans les articles ou bien des fonctions étendent des fonctionnalités du noyau
- Composants – ils ajoutent des pages personnalisées à votre site qui peuvent être sélectionnées depuis les menus
- Langues – elles définissent des langues supplémentaires pour votre site
Templates
Un template est une collection d'au moins deux fichiers regroupant entre autres le script PHP principal et le fichier de style (CSS). Le script PHP définit la mise en forme du site qui peut varier en fonction de ce qui est sélectionné à partir des menus du site. Le PHP est entrecoupé de HTML dans le fichier. Le HTML fournit les éléments bruts qui définissent ce qui s'affiche et où, et le PHP définit la logique qui permet de rendre le contenu de manière différente en se basant sur l'élément de menu sélectionné et aussi d'appeler les méthodes du noyau de Joomla! pour insérer les articles, les modules, et d'autres contenus au sein des éléments HTML. Le fichier CSS définit les couleurs de texte, de fond d'écran, les graphiques, et d'autres attributs des différents éléments qui peuvent apparaître sur la page. Le fichier CSS donne au site un affichage et un comportement consistants.
Modules
Le module est l'extension la plus simple. Il fournit un type spécifique d'information qui peut être inséré dans le template de site et apparaît sur vos pages aux endroits autorisés pour l'insertion de contenu. Les modules peuvent être instanciés autant de fois que nécessaire. Chaque instance peut être placée dans une position spécifique de la page comme prévu par le template. Les positions disponibles sont définies dans le fichier XML du template de site et elles autorisent les modules à apparaître seulement lorsque certains éléments de menus sont sélectionnés. Considérez par exemple les modules de connexion, du nombre d'utilisateurs en ligne, du compteur de visites ou des flux d'information.
Plugins
Il existe de nombreux types de plugins. Parmi eux ː
- Contenu
- Recherche
- Editeurs
- Extensions de l'éditeur
Un plugin de contenu, par exemple, est appelé par le code du noyau lorsque les articles sont affichés ou recherchés avec des chaînes de caractères spécifiques traitées uniquement par ce plugin, et les remplace par un autre texte (qui peut inclure du HTML, Javascript, etc.). Par exemple, un plugin peut traiter la chaîne {avatar} et insérer une référence à l'avatar téléchargé ou sélectionné par l'utilisateur sur un site équipé avec un composant populaire de bâtisseur communautaire (Community Builder) ou remplacer {video=path-to-video} par un javascript qui diffuse le contenu vidéo dans le navigateur de l'utilisateur.
Un plugin de recherche peut étendre la capacité de recherche d'un site pour inclure des contenus provenant de composants non-natifs.
Un plugin d'éditeur peut redéfinir complètement ou étendre un éditeur de contenu (par exemple JCE).
Composants
Le composant est le type d'extension de Joomlaǃ le plus élaboré et complexe. Il peut avoir à la fois une partie dans le site utilisateur et une autre dans l'interface du site d'administration. Les composants peuvent avoir une ou plusieurs façons d'insérer des fonctionnalités en tant qu'entrées de menus, et l'interface d'administration peut être aussi élaborée que le concepteur le souhaite. Des exemples sont les galeries de photos, les forums de discussion, les livres d'or.
Langues
Une langue est un ensemble de un ou plusieurs fichiers qui définissent les éléments de la langue choisie que votre extension supporte.
Attributs communs
Toutes les extensions Joomla! incluent a minima les fichiers de code source et un fichier XML. Pour tous les types d'extension, le fichier XML agit comme un script d'installation. Pour certains types d'extensions, il fournit aussi une spécialisation pour l'interface d'administration.
L'interface d'administration pour les modules et les plugins est entièrement codée en XML. Il n'y a pas d'éléments dynamiques pour elle et pas réellement de moyens de personnaliser l'aspect et l'ambiance de la saisie des paramètres. Cette partie est gérée par le noyau de Joomla!. Le fichier XML décrit également l'extension (nom, date, version, description etc.) et comment elle doit être installée.
Ceci contraste avec l'interface d'administration d'un composant, dont le fichier XML est utilisé pour l'installation et pour définir le menu d'administration du composant. Un composant est typiquement codé entièrement en PHP et HTML par son concepteur. Un composant est composé de plusieurs parties et elles sont divisées entre les interfaces utilisateur et d'administration. La partie d'administration inclut un menu, un gestionnaire d'actions, et des éléments visuels qui peuvent inclure des formulaires, et dautres éléments de saisie. La partie utilisateur n'a pas de composant de menu, mais sinon est très similaire à la partie d'administration.