Connexion S'inscrire

Connectez-vous

Login *
Mot de passe *
Se souvenir de moi

Créer un compte

Les champs marqués d'un astérisque (*) sont requis.
Nom *
Login *
Mot de passe *
Vérification mot de passe *
Email *
Vérification email *
Captcha *

Création d'un composant Joomla (partie 1) - Structure de base


Nous allons voir dans ce tutoriel, comment créer un composant qui utilisera certains des nombreux avantages qu'offre le CMS Joomla. À la fin de cette série de tutoriels, vous serez capable de concevoir des composants Joomla. Le composant que nous allons concevoir est nommé "com_djguitariste". C'est un repertoire de guitariste du monde. Nous utiliserons aussi le composant "Catégorie" de Joomla pour regrouper les guitaristes selon leur style, exemple: Jazz, Blues, Country...

1 - Environnement

Vous devez disposer de 2 sites web en Joomla 3.x. Dans le premier site, nous allons créer la structure des dossiers et fichiers du composant. À différent étape, nous allons créer un archive d'installation du composant et l'installer sur le deuxième site pour voir si tout va bien. Donc sur ce deuxième site, nous auront besoin de désinstaller et réinstaller notre composant plusieurs fois à mesure que nous avançons dans cette série de tutoriels.  Notons que lorsque nous désinstallons le composant, Joomla supprime tous les fichiers et dossiers.

2 - Structure d'un composant Joomla

Tous les composants Joomla en frontend sont localisés dans le dossier "components" et en administration sont dans le dossier "administrator/components". Nous allons créer le composant directement dans un site Joomla de développement et plus tard, nous verrons comment compiler le tout en archive d'installation pour l'installer sur n'importe quel site Joomla.

Le composant doit être dans un sous-dossier dont le nom commence par "com_" suivit du nom du composant ex: "com_djguitariste", "com_content", "com_users"...

 2 - a Frontend (côté utilisateur)

Allons dans le dossier "components" qui se trouve à la racine de notre site Joomla et créons le dossier "com_djguitariste". Tout repertoire de composant selon la recommendation de Joomla devrait contenir un fichier index.html vide. Nous allons donc créer un fichier index.html vide dans le dossier de notre composant. Un fichier PHP portant le même nom que le composant est obligatoire dans ce dossier. Dans notre cas, le fichier sera nommé "djguitariste.php". Tous fichier PHP dans Joomla commence par la vérification de la constante "_JEXEC" pour des raison de sécurité donc on mettra systématiquement cette vérification au début de chaque fichier PHP qu'on va créer. Pour l'instant, nous allons juste afficher "Bonjour le monde!" dans notre fichier "djguitariste.php". Voici le contenu du fichier:


<?php
  defined('_JEXEC') or die;
  
  echo "<p>Bonjour le monde!!!</p>";

2 - b Backend (côté administrateur)

Copiez le sous-dossier "com_djguitariste" que vous avez créé dans "components" et collez le dans "administrator/components". Un autre fichier est obligatoire pour le côté administrateur "djguitariste.xml", ce fichier définit les informations que Joomla a besoin pour installer le composant. Voici le contenu du fichier XML:


<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.0" method="upgrade">
    <name>com_djguitariste</name>
    <author>Docteur Joomla</author>
    <creationDate>December 2016</creationDate>
    <license>GNU General Public License version 2 or later; see LICENSE.txt</license>
    <authorEmail>Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.</authorEmail>
    <authorUrl>www.docteurjoomla.com</authorUrl>
    <version>1.0</version>
    <description>COM_DJGUITARIST_XML_DESCRIPTION</description>
    
    <files folder="site">
        <filename>djguitariste.php</filename>
        <filename>index.html</filename>
    </files>
    
    <administration>
        <menu>COM_DJGUITARISTE</menu>
        <submenu>
            
        </submenu>
        
        <files folder="admin">
            <filename>djguitariste.php</filename>
            <filename>index.html</filename>
        </files>
    </administration>
</extension>

Un fichier manifest d'installation commence toujours par la balise <extension> qui devrait avoir les propriétés suivantes:

- type: définit le type d'extension. Les valeurs possibles sont "module", "plugin", "component"...

version: définit la version minimale de Joomla requise pour utiliser l'extension. Dans notre exemple, c'est à partir de la version 3.0 donc l'extension marchera pour les versions supérieurs à 3.0.

- method: définit la façon de gérer les mises à jour. upgrade signifie que Joomla peut faire des mises à jour sans supprimer les versions antérieures; install signifie qu'il faut désinstaller la version antérieure avant de d'installer une mise à jour.

Après la balise "extension", suit un ensemble de balise pour identifier l'auteur, la date de création, le type de licence et la description de l'extension. Ces balises sont généralement présente pour n'importe quelle type d'extension Joomla.

La première balise files qui a la propriété folder="site" définie les fichier à charger dans le dossier frontend du composant. La balise <administration> permet de définir une architecture  de menu pour l'administration et aussi de définir les fichiers et dossier à charger dans le backend du composant (administration).

3 - Création d'un archive d'installation

Créez un dossier du même nom que le composant sur le bureau ou à un emplacement de votre choix. Dans ce dossier, créez les sous-dossiers "admin" et "site". Dans le sous-dossier "site", copiez tout le contenu du dossier "components/com_djguitariste/". Dans "admin", copiez le contenu du dossier "administrator/components/com_djguitariste/". Vous aurez une structure semblable à celle de l'image:

Compressez le dossier en "com_djguitariste_1.0.zip" ou dans un autre format d'archive supporté par Joomla (.gz, .tar, .tar.gz). Allez dans l'administration de votre deuxième site et installer l'extension en suivant la procédure normale d'installation d'extension Joomla.

 À ce niveau, si vous accédez à url_de_votre_site/index.php?option=com_djguitariste, vous devez voir le texte "Bonjour le monde!!!" que nous avons écrit dans le fichier "djguitariste.php"

Cliquez ici pour lire la suite de ce tutoriel (Création d'un composant Joomla - partie 2)!


  • Dernière modification le mercredi, 25 avril 2018 14:29
  • 1441
Docteur Joomla

Après plus de 10 ans d'expérience en Joomla, je lance ce Blog pour partager mes connaissances avec les autres développeurs Joomla.