Help - Search - Member List - Calendar
Full Version: Quid du Mod Installer
IPBR-FR > Entraide > Forums dédiés aux mods majeures > Mod Installer (MI)
Melkendar
Les messages suivants ont été écrit par Killer et sont sa propriété exclusive smile.gif

Le ModInstaller (par Peter)

Qu'est ce que c'est ?
Le MI est une mod qui s'installe automatiquement, donc pas besoin de mettre les mains dans le cambouis, tout est automatique. C'est une mod qui permet l'installation de mods standardisées. Tous les mods ne sont donc pas compatibles avec.

Qu'est ce qu'une mod standardisée ?
Ce sont des mods qui sont codées de manière spécifique, en suivant des règles bien précises et très rigoureuses. En effet, une erreur peut provoquer des dégâts importants.

Comment installer le MI ?
C'est vraiment très simple, téléchargez le puis dézippez les fichiers en conservant l'arborescence. Uploadez les fichiers situés dans le répertoire 'TheModInstaller' dans leurs dossiers respectifs.
Effectuez un chmod 0666 sur TOUS les fichiers du forum.
Lancez le fichier Mod_Installer.php situé dans le répertoire principal. (http://www.votre-domaine.com/forums/Mod_Installer.php par exemple)
Cliquez sur le bouton 'Procéder' pour installer le MI, et vous aurez un journal détaillé de l'installation si tout s'est déroulé comme prévu. Sinon, corrigez les erreurs éventuelles ou postez sur le support.

Comment installer une mod avec le MI ?
Prenons par exemple la mod Highlight PHP de Peter, vous trouverez les fichiers suivants :
/doc/images/bullet.gif
/mod_highlight_php_howto.htm
/sources/mods/highlight_php/

- Le dossier doc est simplement une image pour la documentation.
- Le fichier 'mod_highlight_php_howto.htm' est la documentation de la mod, qu'il faut lire avant d'installer la mod
- Le dossier 'sources/mods/highlight_php/' est le dossier à copier dans le dossier 'sources/mods/' de votre forum.

Ensuite, direction le PCA --> Installation de MOD --> Test de collision.
Oui, c'est l'étape à faire en premier si vous avez déjà des mods installées avec le MI sur votre forum.
Choisissez tous les mods que vous avez installées et celle que vous souhaitez installer et lancez le test.
Vous aurez une réponse, si elle est négative, il faut l'installer à la main wink.gif
Sinon, vous pouvez poursuivre.

Allez dans le PCA --> Installation de MOD --> Installer une mod
Cochez la case de la mod que vous souhaitez installer, puis choisissez 'Journal détaillé des informations ?'. Par contre, laissez décochée la case 'Ecraser les fichiers originaux ?' car vous devez vérifier d'abord que la mod ne contient pas d'erreurs. Ensuite si vous ne voyez pas d'erreurs dans le rapport, recommencez l'opération en cochant la case 'Ecraser les fichiers originaux ?'. Votre mod est installée biggrin.gif

Comment supprimer une mod avec le MI ?
Si, pour une quelconque raison, vous souhaitez désinstaller une mod installée, c'est très simple.
Allez dans le PCA --> Installation de MOD --> Voir les mods installées
Puis cochez la case correspondante aux mods que vous voulez supprimer. Cochez également la case 'Supprimer les changements dans la base de données' si la mod a auparavant modifié la base de données, mais le mieux est de toujours la cocher quand on ne sait pas.
Voilà, votre mod est supprimée wink.gif
Melkendar
Créer une mod compatible ModInstaller

Se procurer la version DEV du ModInstaller
C'est très simple, rendez vous à cette adresse, c'est le forum officiel pour le MI.
Inscrivez vous et postez dans le sujet disponible, une demande à Peter (en anglais évidemment) pour qu'il vous passe dans le groupe Modders.
Une fois dans ce groupe, vous pourrez voir plusieurs forums, dont "ModInstaller DEV" où se trouve les versions DEV du MI. Télécharger la dernière version. Il n'y a aucune version 100% francaise disponible, car Peter souhaite que la version DEV soit seulement téléchargeable depuis son forum. Mais le fichier lang francaise est disponible dans le zip que vous téléchargerez, ainsi que la version allemande. Installez ensuite le MI sur un forum vierge, pour plus d'information au sujet de l'installation du MI, lisez le message précédent.

L'archive type pour une mod compatible MI
Voici l'arborescence d'une mod MI
/
/mod_xxx_howto.htm
/lang/
/lang/fr/
/lang/fr/mod_xxx_lang.php
/doc/
/doc/images/
/doc/images/bullet.gif
/sources/
/sources/mods/
/sources/mods/xxx/
/sources/mods/xxx/CodeChange.php
/sources/mods/xxx/mod_xxx_howto.htm
/sources/mods/xxx/doc/
/sources/mods/xxx/doc/images/
/sources/mods/xxx/doc/images/bullet.gif
Si votre mod nécessite d'autres nouveaux fichiers à uploader, mettez les à la racine du dossier en suivant l'arborescence du forum. Par exemple, pour un fichier skin, mettez :
/skin/
/skin/s*/
/skin/s*/skin_xxx.php
C'est la même chose pour les autres fichiers.
En rouge, le nom de la mod
En vert, la langue du dossier (fr, en, de, ...)
Si vous voulez mettre plusieurs fichiers mod_xxx_howto.htm, ajoutez la langue du fichier à la fin de son nom. Par exemple, si vous voulez faire un fichier pour l'anglais pour le francais et l'allemand, ajouter 3 fichiers de ce type :
/sources/mods/xxx/mod_xxx_howto_en.htm (anglais ==> english)
/sources/mods/xxx/mod_xxx_howto_fr.htm (francais ==> french)
/sources/mods/xxx/mod_xxx_howto_de.htm (allemand ==> deutsh)

Création du fichier CodeChange.php
Voir message suivant.

Création du fichier mod_xxx_howto.htm
C'est là qu'intervient la version DEV du MI. Il vous faut tout d'abord installer la mod avec ce dernier pour voir si elle fonctionne. Ensuite, rendez vous ici : PCA > Installation de MOD > Créer la documentation.
Ensuite, vous verrez la liste des mods installées sur votre forum. Cliquez sur le bouton Créer/Editer de la mod dont vous vous voulez créer la documentation.
Vérifiez que les champs sont remplis correctement et changer la langue pour la documentation car elle est par défaut en anglais. Entrez un nom pour le fichier, en général "mod_xxx_howto_fr.htm" et cliquez sur le bouton "Créer l'apercu". Si cela vous convient, générez le fichier en cliquant sur le bouton "Créer le document".
Mettez ce fichier à la racine du dossier contenant les fichier de votre mod, ainsi que dans le répertoire /sources/mods/xxx/

Voila, vous savez faire une archive type pour une mod compatible MI wink.gif
Melkendar
Créer un fichier Codechange.php

****************************************************
* Informations sur le fichier *
****************************************************
Nom du fichier : CodeChange.php
Emplacement : /sources/mods/Essai/
Fonction : Contient toutes les informations sur la mod. Le nom, la catégorie, les étapes de recherche, les étapes d'insertion, etc...

****************************************************
* Création d'un fichier CodeChange.php *
****************************************************
La structure de ce fichier est très rigoureuse, car toute erreur entraîne un mauvais fonctionnement de la mod

Première partie : Comment
Cette partie donne des infos sur le fichier, l'auteur du fichier, etc...
CODE

[COMMENT]
/*
+--------------------------------------------------------------------------
|   Invision Board v1.2
|   ========================================
|   > Mod_Installer
|   > Module written by [color=red]Killer[/color]
|        > [color=red]Killer, technicien d'ipbr-fr.com[/color]
|        > email: [color=red]voir mon profil[/color]
|
|   > Mod_Installer Version Number: 1.00 (2003-07-17)
|   > <c> 2003 by Peter
|
|   > Ceci est le CodeChange.php pour la mod [color=red]Essai[/color] par [color=red]Killer[/color]
+--------------------------------------------------------------------------
*/
[COMMENT_END]

Il vous suffit de remplacer les zones en rouge par vos informations personnelles

Deuxième partie : Interface
Cette partie contient toutes les informations sur la mod
CODE

[INTERFACE]
'title' => 'Essai',
'sub_title' => 'Mod qui n'existe pas mais qui sert à expliquer le fonctionnement du MI',
'category' => 'Mod Mineurs',
'compatible' => 'Invision Power Board  1.2',
'version' => '1.3',
'author' => 'Killer',
'email' => 'k_i_l_l_e_r4@hotmail.com',
'mod_token' => 'mod_essai',
[INTERFACE_END]

On décompose :
title --> Le nom de la mod
sub_title --> Une description rapide de la mod
category --> La catégorie de la mod (Mods mineurs, mods majeurs, mods du PCA, ...)
compatible --> Version des forums compatible avec la mod
version --> Version de la mod
author --> Auteur de la mod
email --> Adresse email de l'auteur
mod_token --> le nom de la mod en remplacant les espaces par des _ (underscores)

Troisème partie : History
Cette partie liste toutes les anciennes version de la mod, avec la liste des nouvelles fonctions
CODE

[HISTORY]
Version 1.3 : 16/11/2003
Ajout de la fonction machin
Correction du bug dans le fichier truc.php

Version 1.2 : 15/11/2003
Adaptation de la mod pour IPB 1.2

Version 1.1 : 14/11/2003
Correction d'un bug dans la fichier bidule.php

Version 1.0 : 13/11/2003
La mod essai permet de faire ceci
Mais aussi cela
Une nouvelle fonction est ajoutée pour faire ceci
[HISTORY_END]

Vous avez compris à quoi ca sert non ? tongue.gif

Quatrième partie : Sql
Cette partie regroupe toutes les requêtes SQl à exécuter
CODE

[SQL]
[QUERY]
INSERT INTO ipbr_members ('name','password','email') VALUES ('blabla','blabla','blabla')
[SQL_END]

La syntaxe est simple, vous mettez la balise [QUERY] et en dessous votre requête. Si vous voulez en mettre une seconde, vous remettez une balise [QUERY] et votre requête en dessous

Cinquième partie : Modification des fichiers
Cette partie regroupe les modifications à faire dans les fichiers du forum.
Je ne vais en expliquer qu'un seul mais c'est la même chose pour chaque fichier
CODE

[MOD_TOKEN]
mod_essai

[FNAME]
sources/functions.php

[STEP]
[SEARCH]
       print $ibforums->skin['template'];
       
       exit;
   }

[INSERT]
//-- mod_essai begin
   if (@file_exists($root_path."sources/mods/highlight_php/mod_highlight_php_func.php")) {
       require $root_path."sources/mods/highlight_php/mod_highlight_php_func.php";
       $highlight_php->do_highlight();
   } else {
       die("Could not call required function from file 'sources/mods/highlight_php/mod_highlight_php_func.php'<br>Does it exist?");
   }
//-- mod_essai end

[MODE]
insert_above

[FNAME_END]

Je vais expliquer chaque balise
[MOD_TOKEN] --> Il faut simplement remettre le mod_token que vous avez mis dans la partie interface.
[FNAME] --> le chemin relatif pour accéder au fichier à modifier
[STEP] --> Créer une étape de modification
[SEARCH] --> Le code à rechercher
[INSERT] --> Le code à insérer
[MODE] --> Le mode d'insertion (voir la fin de cette partie pour plus d'infos). Ensuite, on peut recommencer une étape [STEP] sur le même fichier ou changer de fichier en fermant celui en cours [FNAME_END]
[FNAME_END] --> On ferme le fichier et on peut reprendre avec la balise [MOD_TOKEN]

Mode d'insertion (les plus utilisés) :
insert_above : Insérer la chaîne au dessus de la chaine à rechercher
insert_below : Insérer la chaîne en dessous de la chaine à rechercher
insert_above_bol : Insérer la chaîne avant de la chaine à rechercher (sur la même ligne)
insert_below_eol : Insérer la chaîne après de la chaine à rechercher (sur la même ligne)

Sixième partie : Copy
Tous les nouveaux fichiers à copier dans un des dossier du forum
CODE

[COPY]
'/lang/fr/mod_essai_lang' vers '/lang/fr'
'/style_images/1/photo.gif' vers '/style_images/1'
[COPY_END]

C'est pas trop compliqué ca ?

Septième partie : Customize
Cette partie liste les actions à effectuer manuellement avant de pouvoir utiliser la mod
CODE

[CUSTOMIZE]
Allez dans le PCA > Forum Control > Manage Forum et réorganiser les forums
[CUSTOMIZE_END]

OK ? wink.gif

Huitième partie : Comment mod
Des commentaires au sujet de la mod
CODE

[COMMENT_MOD]
Vous trouverez une nouvelle option dans le PCA > System Settings
[COMMENT_MOD_END]

c'est bientôt fini ? Ouff !!

Neuvième partie : History old
Les anciennes version de la mod
CODE

[HISTORY_OLD]
Pas d'anciennes versions.
[HISTORY_OLD_END]


Voila, vous savez maintenant comment faire un fichier CodeChange.php pour la ModInstaller wink.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.