CMS KwsPHP - Le site clés en main - Article - Créer un module

Colonne de gauche

Espace membre

Privé Masquer le formulaire de connexion


Se souvenir de moi ?


Mot de passe oublié

Forum

Dernières news

fleche basCréer un module

Article posté par σDitch.
Paru le samedi 24 juin 2006 à 23:03
Vu 5979 fois.

Créer un module



But du tutorial

A la fin de ce tutorial vous saurez comment créer un module pour KwsPHP. Vous saurez y afficher du texte, le personnaliser à souhait.
Nous verrons comment utiliser les variables du portail, comment y insérer du code XHTML et PHP.

Présentation

KwsPHP peut se dire ergonomique et complet grâce à l'immense bibliothèque de modules dont il dispose. Ces modules immédiatement reconnus par le moteur permettent de personnaliser votre portail en y ajoutant diverses fonctions ou tout simplement une page qui rentre dans le design. Ce sont des programmes additionnels vous permettant de gérer les informations de votre site. Vous pourrez en trouver portant sur les domaines les plus variés. Dans ce tutorial, nous apprendrons pas à pas comment créer notre propre module, comment le personnaliser. Nous commenterons toutes les étapes pour que vous compreniez bien le principe et que vous puissiez créer vos modules par la suite.

Création d'une page

Pour pouvoir créer notre page seules quelques connaissances en XHTML sont requises, le reste étant expliqué. Si vous ne connaissez pas encore suffisamment bien le XHTML nous vous conseillons un très bon site qui explique toutes les étapes pour monter son site pas à pas : http://siteduzero.com/xhtml-css/ . Ne vous inquiétez pas non plus, si vous êtes capable d'afficher un texte en (X)HTML vos connaissances seront amplement suffisantes. Pour créer notre page nous aurons besoin de deux choses :

* La syntaxe de base du module
* Le code XHTML à insérer dans notre module
* Avec du PHP ...

a/ La syntaxe de base
La syntaxe du module est simple et invariante, c'est à dire que tous les modules que nous créerons commenceront par ce code.


Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php
  2.  
  3. // MODULE : nom de votre module
  4. // AUTEUR : votre nom et/ou pseudo
  5. // SUPPORT : votre adresse mail sur laquelle on peut vous contacter
  6.  
  7. if (!(defined('__KWS__'))) {die ('Erreur d\'appel de fichier.');}
  8.  
  9. bloc_head('nom de votre page : ') ;
  10.  
  11.  
  12. close_table() ;
  13.  
  14. ?>



Les trois lignes précédées de deux slashs sont des commentaires stipulant que vous êtes le créateur du dit-module et que vous pouvez assurer un support au cas où l'on voudrait vous contacter pour x raison. Ces trois lignes sont votre signature, ne les oubliez pas smiley sg3bgg29g.gif
La première ligne de code en PHP commençant par un if est une protection qui oblige le visiteur à passer par l'adresse http://www.monsite.com/index.php?mod=mon-module&ac=fichier et non par l'adresse http://www.monsite.com/modules/mon-module/fichier.php . Cette protection ajoutée depuis la version 1.2.3 permet d'inclure les sécurités s'exerçant sur l'index et d'être certain que le design sera intégré.
La fonction bloc_head(); définit le titre de votre page. Cette fonction permet d'informer le thème utilisé que votre page débute et que le titre de cette page sera le nom inscrit entre les parenthèses. Si toute fois vous ne voulez pas donner de nom à votre page, remplacez bloc_head() ; par open_table(); qui a la même fonction graphique.
La fonction close_table(); sans information informe le thème que la page est finie, qu'il peut refermer le bloc qu'il avait ouvert avec bloc_head();.

b/ Le code XHTML à insérer dans notre module
Maintenant que nous avons notre (solide) base, nous allons pouvoir nous atteler au plus important : le code à afficher.
Ce code est à rentrer en PHP car notre fichier est un fichier PHP. Mais ce langage est bien fait, nous pouvons afficher du code XHTML grâce à la fonction echo '' ; (voir ici pour en savoir plus sur la fonction echo) . Pour comprendre son utilisation, la meilleure des méthode est de voir un exemple : nous allons afficher un texte centré avec echo '';
En XHTML le code à insérer est <div align="center">Notre texte</div> voyons le code approprié à rentrer:


Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php
  2.  
  3. // MODULE : nom de votre module
  4. // AUTEUR : votre nom et/ou pseudo
  5. // SUPPORT : votre adresse mail sur laquelle on peut vous contacter
  6.  
  7. if (!(defined('__KWS__'))) {die ('Erreur d\'appel de fichier.');}
  8.  
  9. bloc_head('nom de votre page : ') ;
  10.  
  11. echo '<div align="center">Notre texte</div>';
  12.  
  13. close_table() ;
  14.  
  15. ?>



c/ Avec du PHP ...
Bien, nous avons vu que nous pouvions ajouter du XHTML (heureusement d'ailleurs) mais qu'en est il du PHP ? Nous savons que notre fichier est codé en PHP donc ... nous pouvons l'utiliser autant que nous voulons !
Pour suivre cette partie du tutorial, quelques connaissances sont de rigueur mais il n'est pas vital pour vous d'utiliser le PHP smiley sg3bgg29g.gif Si toute fois vous voulez concevoir des pages plus élaborées, nous vous conseillons ce site http://siteduzero.com/php/ pour apprendre le PHP à partir de 0.

Ce qui est pratique avec l'utilisation du PHP dans votre module c'est que nous pouvons réutiliser les variables du portail voire accéder à la base de données.
Par exemple, la variable $pseudo définit le pseudo du visiteur, par conséquent, s'il n'en a pas c'est qu'il n'est pas membre ou pas connecté. ( Voir plus d'infos sur les facilités de codage du portail). Ainsi nous pourrons limiter l'accès de telle ou telle page à un non-membre :


Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php
  2.  
  3. // MODULE : nom de votre module
  4. // AUTEUR : votre nom et/ou pseudo
  5. // SUPPORT : votre adresse mail sur laquelle on peut vous contacter
  6.  
  7. if (!(defined('__KWS__'))) {die ('Erreur d\'appel de fichier.');}
  8.  
  9. bloc_head('Êtes-vous un membre ? ');
  10. if($K_pseudo != '') {
  11.  
  12.     echo 'Vous êtes un membre enregistré et votre pseudo est '.$K_pseudo.'';
  13.  
  14. }else{
  15.     echo 'Vous n\'êtes pas inscrit ou logué !<br />
  16.     <a href="./index.php?mod=espace_membre&amp;ac=enregistrer.php">S\'inscrire</a>  <a href="./index.php?mod=espace_membre&amp;ac=login.php">Se loguer</a>';
  17. }
  18. close_table() ;
  19.  
  20. ?>



Quelques conseils

Nous vous conseillons d'indenter votre code ainsi, vous pourrez retrouver plus facilement les liens logiques entre telle et telle condition.
Par la même occasion prenez le temps d'ajouter des commentaires dans votre code. En PHP les commentaires qui s'étendent sur une ligne doivent commencer par // (dans notre code, les commentaires sont en orange).
Votre code sera plus clair et il sera beaucoup plus aisé pour vous de vous y retrouver si vous avez des erreurs - ce qu'il va arriver, je peux vous l'assurer.

Il se peut que les premières fois où vous allez coder vos propres scripts apparaissent des erreurs :

* Parse error: parse error in fichier.php on line X
* Fatal Error: Call to undefined function


a/ Parse Error
Cette erreur est la plus courante, impossible de passer à côté. Elle peut arriver selon différents cas :
- Vous n'avez pas fermé des guillemets ouverts
- Vous avez oublié le point-virgule signifiant l'arrêt du code
Quoi qu'il arrive, un éditeur de fichiers 'intelligent' du type ConTEXT ou Notepad++ vous aidera à retrouver ces erreurs.

b/ Fatal Error
Cette erreur n'est pas aussi 'fatale' qu'elle en a l'air. Elle aussi vous risquez de la rencontrer souvent pour une unique raison cette fois:
La fonction appelée ne peut être utilisée.
Ainsi echo; sortira une erreur, comme pourra le faire fputs qui elle, existe. Comment cela se fait-il ? La fonction appelée n'est pas activée. Cela arrive rarement avec des fonction de base mais avec des moins connues, cela arrive souvent (exemple: lorsque GD2 n'est pas activée).



Texte original par Ripou
Article revu le 27/08/2008
[ Imprimer cet article ]

fleche bas >>Masquer les commentaires [1]

fleche basCommentaire n°1/1

Remonter Posté le 21/06/2009 par Ancien membre

 
Cet article décrit le basic (super basic) de la page /momodule/index.php.

Ou sont les règles de codage des fichiers suivants ? (qui participent à une intégration respectueuse dans le portail)

- /momodule/bloc.php
- /momodule/admin.php
- d'autres fichiers intéressants ?

A quoi servent ces fichiers ?

Les réponses aux questions suivantes ?

- Comment faire une page de module sans passer par le pivot /index.php, tout en respectant le thème ?
- Liste des fichiers recommandés et structure minimum d'un répertoire module ?
- Règles de codage propre, variables sensibles et bibliothèque de fonctions utiles ? (si il y a)
- Modèle type du document "Lisez-moi.txt"

Voici une liste non exhaustive de questions que tout créateur de module kws se doit répondre (par lui même, pour l'instant) en attendant de le trouver dans cette section d'articles.
 
avatar