Joomla Builder

C'est un outil de génération de composants pour Joomla développé par Llewellyn van der Merwe.

Il permet sans quasiment écrire une ligne de code de générer l'arborescence de fichiers et le code du composant pour l'administration et le site.

L'outil est téléchargeable sur le JED Joomla ou directement sur son site github ici   pkg-component-builder/releases

 Une belle présentation est disponible ici sur le magazine Jooma january-2025/tools-to-build-a-component-7-joomla-component-builder

 

J'ai suivi aussi la présentation youtube qui permet de créer un composant simple du type hello.
 

Le sujet

Il s'agit de créer un composant qui permettra de calculer ses impôts en fonction du revenu et de son nombre de parts.

 Le calcul est fait en fonction des tranches d'impôts de l'année considérée et d'un coefficient à appliquer pour chaque tranche.

On se contentera d'un calcul simple en déduisant les dons aux associations et les placements du type "PER".

La modélisation

Pour commencer à utiliser "Component Builder", il faut faire une modélisation des données utilisées pour le composants.

Dans notre cas il s'agira des données de calcul , à savoir les tranches d'impôts et coefficients à appliquer pour une année fiscale.

Concernant les données du revenu on utilisera le revenu net fiscal, le mode de déductions de frais (10% ou réel) le nombre de parts, les dons aux associations et le placement sur le PEL.


   Baptisons notre composant com_jtax

Pour faire la modélisation, j'utilise l'outil   PlantUML

 

 

 Les 2 "classes" vont être mappées sur 2 tables de la base de donnée Joomla

`#__jtax_tax`

et `#__jtax_year`

On créera un lien entre chaque ligne de la table "impôts" et une ligne de la table de donnée "years"

 

Nota: oui je fais du franglais: des noms en anglais d'autres en français. Pour la base de données c'est pas grave, ça n'est pas vu de l'utilisateur.

 

La création du projet pour le composant dans component builder

 Aller dans l'interface administrateur sous Components/Component Builder/Joomla Components

Cliquer sur Nouveau

Pour ma part j'ai juste rempli les champs pour "System Name" et "Short Description" et "Company Name" "Author" "Author Email" "Author Website"

 component_builder.png

 

Création des champs associés au projet

On créée un champ pour chaque ligne et chaque table refletant la modélisation.

 

 Nom Type
 tranche1 à tranche4  revenu
 coef1 à coef4  FLOAT
 revenu  revenu
 deduction  revenu
 nom  STRING
 nbparts  FLOAT
 PEL  revenu

 

Exemple pour le champ Revenu on luid donne pour type Revenu

 

On précise le format dans la base de données


Ajouter un commentaire