Bienvenue sur Induste !

En vous inscrivant, vous pourrez discuter, partager et envoyer des messages privés avec d'autres membres de notre communauté.

Je m'inscris !

Tutoriel XenForo 2: Structure d'un addon #1

Mathieu ?

IT Officer @STATION F
Premium
Inscription
19 Novembre 2016
Messages
1 244
Réactions
1 461
Points
8 560
    Réponse de Mathieu ? Informatique et nouvelles technologies Informatique : XenForo 2: Structure d'un addon #1
  • #1
1521987217072.png


Bonjours a tous , on se retrouve aujourd'hui pour le début d'une petite serie de tutoriel sur le developpement d'un addon XenForo. Pour commencer est etre operationnel pour suivre tout les tutos n'oublier pas d'activer le mode debug de votre XenForo ( ).

Pour ce premier tutoriels vous retrouver 70% du tutoriel en anglais .​

Sommaire:
  • Creation de la structure de base d'un addon
  • Zoom sur addon.json
  • Zoom sur Setup.php
  • La hierarchie XenForo
  • Generation du rendue final

Creation de la structure de base d'un addon

Pour commencer nous allons generer automatiquement la base de notre addon grace a une ligne de commande. Pour ce faire ouvrer votre terminal et rendez-vous a la racine de votre XenForo, par la suite vous allez entrer la commande suivante:

php cmd.php xf-addon-create

Une serie de question va vous etres poser a laquelles vous devrez repondre:
  • Enter an ID for this add-on Ici vous allez entrer le dossier dans lequels seras votre addon suivis de son nom ForoAgency/TutoRG
  • Enter a title Ici vous allez entrer le nom de votre addon qui seras afficher dans l'ACP Tuto RG
  • Enter a version ID Ici nous allons renseigner le numero de version sous forme de chiffre decimal 10000
  • Enter a version string Ici c'est le nom de la version qui seras afficher dans l'ACP 1.0.0
  • Does this add-on supersede a XenForo 1 add-on? (y/n) Ici on nous demande si notre addon remplace un addon de la version 1 de xenforo n
  • Does your add-on need a Setup file? (y/n) Ici on nous demande si on a besoin d'un fichier Setup.php y
  • Does your Setup need to support running multiple steps? (y/n) Ici si vous avez mis oui au-dessus je vous conseille de mettre oui aussi ici y
Voila la structure de base de votre addon a etait creer elle ce trouve donc dans src/addons/ForoAgency/TutoRG

Zoom sur addon.json

Le fichier addon.json et le fichier qui va contenir toutes les informations sur votre addon dont la plupart ce retrouverons dans l'ACP. Nous allons maintenant rentrer en details dans ce fichier, voici de quoi est composer notre fichier uen fois generer par la commande utiliser precedement:

1521987231658.png

legacy_addon_id L'id de votre addon XF1
title Le titre de votre addon qui seras dans l'ACP
description Une courte description de votre addon qui seras par la suite afficher dans l'ACP
version_id La version de votre addon en decimal
version_string La version de votre addon qui seras afficher dans l'ACP
dev Le nom du développeur
dev_url L'url vers laquelle seras rediriger la personne qui click sur le dev
faq_url L'url vers laquelle seras rediriger la personne qui click sur FAQ
support_url L'url vers laquelle seras rediriger la personne qui click sur Support
extra_urls Un tableau de titre avec une url perso {"Demo":"https://realitygaming.fr"}
require C'est ici que vous aller mettre si besoin la version minimum de XenForo requise pour votre addon ou meme la version PHP requise etc
icon L'icon FontAwesome qui seras afficher dans l'ACP

Zoom sur Setup.php

Le fichier Setup.php est le fichier qui seras executer lors de l'installation, mise a jour et désinstallation de l'addon. Ce fichier contient des fonction fonctionnant en "step" c'est a dire que chaque fonction auras un ordre d'execution que l'on choisit. Voici un exemple de fichier Setup.php:

1521987241696.png

La hierarchie XenForo

Lors de la creation de vos addons XenForo impose une sorte de Norme a appliquer sur votre addon dans la facon de ranger vos fichier php. Cette norme est assez simple a retenir une fois connue, tout ce passant a la racine de votre addon:
  • Les controllers que vous creer devront etre sous cette forme Pub/Controller/ ou Admin/Controller/
  • Vos entitées devront etre sous cette forme Entity/
  • Vos repos devront etre sous cette forme Repository/
  • Vos templates devront etre sous cette forme _output/templates/public ou _output/templates/admin
  • A partir du moment ou vous etendez une class deja existante dans XenForo vous devrez faire comme au-dessus pour chaques type sauf que cette fois tout devras etre dans un dossier XF J'etends la class Forum je met donc ma class dans XF/Pub/Controller/Forum.php

Le rendue final

Et pour finir pour generer le rendue final de votre addon et pouvoir le release il vous suffit d'entrer la commande suivante a la racine de votre XenForo php cmd.php xf-addon:build-release ForoAgency/TutoRG. Et voila le zip ce trouveras dans le dossier _releases !​

C'est tout pour ce petit tutoriel et on ce retrouve tres vite pour le prochain tutoriel XenForo ! :dance:
 
Dernière édition:

Rayan67

Premium
Premium
Inscription
16 Février 2013
Messages
747
Réactions
407
Points
14 566
    Réponse de Rayan67 Informatique et nouvelles technologies Informatique : XenForo 2: Structure d'un addon #1
  • #3
Après 20 add-ons on à droit a 20 tutoriels :trollface: good Marent :D
 

Kong SEC

Retraité
Ancien staff
Inscription
14 Mai 2016
Messages
2 706
Réactions
11 981
Points
8 400
    Réponse de Kong SEC Informatique et nouvelles technologies Informatique : XenForo 2: Structure d'un addon #1
  • #4
Continue comme ça ! :neo:
 

Thomas'

Ancien staff
Inscription
3 Avril 2015
Messages
3 176
Réactions
1 802
Points
12 536
    Réponse de Thomas' Informatique et nouvelles technologies Informatique : XenForo 2: Structure d'un addon #1
  • #5
Voir la pièce jointe 113413

Bonjours a tous , on se retrouve aujourd'hui pour le début d'une petite serie de tutoriel sur le developpement d'un addon XenForo. Pour commencer est etre operationnel pour suivre tout les tutos n'oublier pas d'activer le mode debug de votre XenForo ( ).

Pour ce premier tutoriels vous retrouver 70% du tutoriel en anglais .​

Sommaire:
  • Creation de la structure de base d'un addon
  • Zoom sur addon.json
  • Zoom sur Setup.php
  • La hierarchie XenForo
  • Generation du rendue final

Creation de la structure de base d'un addon

Pour commencer nous allons generer automatiquement la base de notre addon grace a une ligne de commande. Pour ce faire ouvrer votre terminal et rendez-vous a la racine de votre XenForo, par la suite vous allez entrer la commande suivante:

php cmd.php xf-addon-create

Une serie de question va vous etres poser a laquelles vous devrez repondre:
  • Enter an ID for this add-on Ici vous allez entrer le dossier dans lequels seras votre addon suivis de son nom ForoAgency/TutoRG
  • Enter a title Ici vous allez entrer le nom de votre addon qui seras afficher dans l'ACP Tuto RG
  • Enter a version ID Ici nous allons renseigner le numero de version sous forme de chiffre decimal 10000
  • Enter a version string Ici c'est le nom de la version qui seras afficher dans l'ACP 1.0.0
  • Does this add-on supersede a XenForo 1 add-on? (y/n) Ici on nous demande si notre addon remplace un addon de la version 1 de xenforo n
  • Does your add-on need a Setup file? (y/n) Ici on nous demande si on a besoin d'un fichier Setup.php y
  • Does your Setup need to support running multiple steps? (y/n) Ici si vous avez mis oui au-dessus je vous conseille de mettre oui aussi ici y
Voila la structure de base de votre addon a etait creer elle ce trouve donc dans src/addons/ForoAgency/TutoRG

Zoom sur addon.json

Le fichier addon.json et le fichier qui va contenir toutes les informations sur votre addon dont la plupart ce retrouverons dans l'ACP. Nous allons maintenant rentrer en details dans ce fichier, voici de quoi est composer notre fichier uen fois generer par la commande utiliser precedement:


legacy_addon_id L'id de votre addon XF1
title Le titre de votre addon qui seras dans l'ACP
description Une courte description de votre addon qui seras par la suite afficher dans l'ACP
version_id La version de votre addon en decimal
version_string La version de votre addon qui seras afficher dans l'ACP
dev Le nom du développeur
dev_url L'url vers laquelle seras rediriger la personne qui click sur le dev
faq_url L'url vers laquelle seras rediriger la personne qui click sur FAQ
support_url L'url vers laquelle seras rediriger la personne qui click sur Support
extra_urls Un tableau de titre avec une url perso {"Demo":"https://realitygaming.fr"}
require C'est ici que vous aller mettre si besoin la version minimum de XenForo requise pour votre addon ou meme la version PHP requise etc
icon L'icon FontAwesome qui seras afficher dans l'ACP

Zoom sur Setup.php

Le fichier Setup.php est le fichier qui seras executer lors de l'installation, mise a jour et désinstallation de l'addon. Ce fichier contient des fonction fonctionnant en "step" c'est a dire que chaque fonction auras un ordre d'execution que l'on choisit. Voici un exemple de fichier Setup.php:


La hierarchie XenForo

Lors de la creation de vos addons XenForo impose une sorte de Norme a appliquer sur votre addon dans la facon de ranger vos fichier php. Cette norme est assez simple a retenir une fois connue, tout ce passant a la racine de votre addon:
  • Les controllers que vous creer devront etre sous cette forme Pub/Controller/ ou Admin/Controller/
  • Vos entitées devront etre sous cette forme Entity/
  • Vos repos devront etre sous cette forme Repository/
  • Vos templates devront etre sous cette forme _output/templates/public ou _output/templates/admin
  • A partir du moment ou vous etendez une class deja existante dans XenForo vous devrez faire comme au-dessus pour chaques type sauf que cette fois tout devras etre dans un dossier XF J'etends la class Forum je met donc ma class dans XF/Pub/Controller/Forum.php

Le rendue final

Et pour finir pour generer le rendue final de votre addon et pouvoir le release il vous suffit d'entrer la commande suivante a la racine de votre XenForo php cmd.php xf-addon:build-release ForoAgency/TutoRG. Et voila le zip ce trouveras dans le dossier _releases !​

C'est tout pour ce petit tutoriel et on ce retrouve tres vite pour le prochain tutoriel XenForo ! :dance:
Continue comme ça c'est du bon travail :)
 

Benjamin

Ancien staff
Ancien staff
Inscription
19 Janvier 2013
Messages
16 402
Réactions
5 523
Points
25 755
    Réponse de Benjamin Informatique et nouvelles technologies Informatique : XenForo 2: Structure d'un addon #1
  • #6
Really good job !
 

Xyna

Ancien staff
Inscription
25 Octobre 2016
Messages
4 276
Réactions
3 166
Points
10 888
    Réponse de Xyna Informatique et nouvelles technologies Informatique : XenForo 2: Structure d'un addon #1
  • #7
Nice tout ça :cool:
 

SyTry'

Premium
Inscription
22 Mai 2015
Messages
2 608
Réactions
814
Points
10 921
    Réponse de SyTry' Informatique et nouvelles technologies Informatique : XenForo 2: Structure d'un addon #1
  • #8
Salut, tu compte faire la suite de cette série ? :idk:

SyTry,
 
Auteur Discussions similaires Forum Réponses Date
Ray’ Informatique 1

Discussions similaires


Haut Bas