Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste :

Wiki: Plan du site - Derniers changements - Back link

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révisionLes deux révisions suivantes
manuel:minitutoriel:1.0.2 [2008/03/30 20:34] – créée laurentmanuel:minitutoriel:1.0.2 [2008/03/30 20:36] laurent
Ligne 1: Ligne 1:
-====== Mini Tutoriel ====== 
  
-Ce tutoriel a pour but de vous montrer succinctement comment on réalise une application.  
- 
- 
- 
-===== Téléchargement et installation ===== 
- 
-Pour commencer, [[telechargement:stable|téléchargez l'édition "Developer" de Jelix]]. Jelix nécessite au moins PHP 5.2. 
- 
-Décompressez ensuite l'archive obtenue avec des logiciels comme winzip, unzip ou tar. Par exemple, avec tar : 
- 
-  tar xvzf jelix-1.0-dev.tar.gz 
- 
-Vous obtenez un répertoire jelix-1.0/lib/ dans lequel vous avez plusieurs répertoires contenant toutes les bibliothèques utilisées par jelix, ainsi que les fichiers propres à jelix dans jelix-1.0/lib/jelix/. 
- 
-Pour ce tutoriel, déplacez le répertoire jelix-1.0 dans le répertoire de votre site web, de manière à ce qu'il soit accessible par une URL du genre http://localhost/jelix-1.0/. (vous pouvez renommer //jelix-1.0// comme vous le souhaitez). 
- 
-Il est possible de télécharger de la forge de Jelix le code de ce tutoriel aux formats  
-[[http://forge.jelix.org/svn/tutors/base_jelix-1.0/hello.zip|zip]] ou  
-[[http://forge.jelix.org/svn/tutors/base_jelix-1.0/hello.tar.gz|gzip]]. 
- 
- 
-===== Scripts de Jelix ===== 
- 
-L'édition //Developer// de Jelix est fournie avec un script //jelix.php//, qui permet de créer et modifier facilement les fichiers d'une application. Ce script est situé dans //jelix-1.0/lib/jelix-scripts///. 
- 
-Il faut invoquer //jelix.php// avec la version ligne de commande de PHP, depuis une console sous Linux ou l'invite de commandes sous Windows. 
- 
-Pour commencer, stockez le nom de l'application dans la variable d'environnement //JELIX_APP_NAME// : 
-<code bash> 
-  export JELIX_APP_NAME=hello        #sous linux 
-  set JELIX_APP_NAME=hello           #sous windows 
-</code> 
- 
-puis allez dans le répertoire des scripts : 
-<code bash> 
-   cd lib/jelix-scripts/          #sous linux 
-   cd lib\jelix-scripts\          #sous windows 
-</code> 
- 
-il sera alors possible de lancer la commande comme suit : 
-<code bash> 
-php jelix.php nom_commande [options] [paramètres] 
-</code> 
- 
- 
- 
-===== Création d'une application ===== 
- 
-Créons l'arborescence de l'application au moyen de la commande //createapp// : 
- 
-<code bash> 
-php jelix.php createapp 
-</code> 
- 
-Vous obtenez alors un répertoire //hello/// situé au même niveau que le répertoire //lib/// (d'après le nom stocké dans la variable d'environnement). Son contenu est le suivant : 
- 
-  hello/ 
-     modules/      les modules propres à votre application 
-     plugins/      les plugins propres à votre application 
-     var/ 
-         config/   les fichiers de configuration de votre application 
-         log/      les éventuels fichiers journaux 
-         themes/   les différents thèmes possibles dans votre application 
-         overloads/  contiendra les différents fichiers que vous aurez redéfinis, issus de modules tiers. 
-     www/          la racine du site 
- 
- 
- 
- 
-===== Création d'un module ===== 
- 
-Un module "hello" est automatiquement créé dans le répertoire //modules/// lorsque l'on utilise //createapp//. Un module représente une partie de votre application. Il en faut au moins un dans une application.  
- 
-Voici le répertoire créé automatiquement : 
- 
-   hello/modules/ 
-             hello/              le répertoire du module 
-                 module.xml          fichier décrivant l'identité du module 
-                 controllers/       les classes de traitement des actions 
-                     default.classic.php   un controleur par défaut 
-                 classes/            vos classes métiers et services 
-                 daos/               les fichiers de mappings relationnel-objet 
-                 locales/            fichiers de langues (fichiers "properties") 
-                     en_EN/ 
-                     fr_FR/ 
-                 templates/          templates du module 
-                 zones/              objets traitant des zones spécifiques dans une page 
- 
- 
- 
-Si vous voulez créer d'autres modules, vous pouvez utiliser la commande //createmodule// : 
- 
-<code bash> 
-php jelix.php createmodule hello2 
-</code> 
- 
- 
- 
-===== Implémentation d'une action ===== 
- 
-Implémentons l'action par défaut. Une action est un traitement affecté à une URL précise de votre application. Ouvrez le fichier //hello/modules/hello/controllers/default.classic.php//, il contient :  
- 
-<code php> 
-class defaultCtrl extends jController { 
- 
-   function index () { 
-      $rep = $this->getResponse('html'); 
- 
-      return $rep; 
-   } 
-} 
-</code> 
- 
- 
-Nous récupérons ici un objet jResponseHtml identifié par le type //"html"//, et nous le retournons pour que son contenu soit renvoyé au navigateur. 
- 
- 
-==== Objet réponse ==== 
- 
-L'objet [[manuel:responsehtml|jResponseHtml]] s'occupe de générer une réponse en HTML (donc une page en HTML). Il génère automatiquement la partie <head> du HTML, à partir de certaines de ses propriétés. Définissons le titre de la page : 
- 
-<code php> 
-   $rep->title = 'Hello World !'; 
-</code> 
- 
-Par défaut, jResponseHtml utilise un template pour générer le corps de la page (le contenu de <body>). Vous devez donc indiquer quel template vous voulez utiliser. Le nom du fichier template doit être placé dans la propriété bodyTpl. Ici, il s'agit du fichier hello.tpl.  
- 
-<code php> 
-   $rep->bodyTpl = 'hello'; 
-</code> 
- 
-On ne met pas la partie ".tpl" car le contenu de la chaîne est en fait un //sélecteur// Jelix. Un sélecteur est un raccourci pour désigner une ressource d'un module.  
- 
-Notez que vous pouvez réaliser vos propres objets réponse (dérivant éventuellement de la classe jResponseHtml), et de ce fait, y mettre tous les traitements de préparation communs à plusieurs ou toutes vos actions, choses que vous n'aurez pas alors à dupliquer dans chaque action (comme le nom du template, l'inclusion de [[manuel:zones|zones]] communes etc..). 
- 
- 
-==== Le template ==== 
- 
-Créez le fichier //hello.tpl// dans le répertoire //templates// du module. Et mettez-y ce contenu : 
- 
-<code xml> 
-  <h2>Hello {$nom} !</h2> 
-  <p>Bienvenue dans Jelix !</p> 
-</code> 
- 
-"{$nom}" est une variable de template : elle sera remplacée par la valeur que vous donnerez, comme dans cet exemple : 
- 
-<code php> 
-   $rep->body->assign('nom','Moi'); 
-</code> 
- 
-La propriété body de l'objet jResponseHtml est un objet //jTpl//, le moteur de template fourni dans Jelix. 
- 
- 
-==== En résumé ==== 
-Le code du contrôleur doit maintenant ressembler à ceci : 
- 
-<code php> 
-class defaultCtrl extends jController { 
- 
-   function index () { 
-      $rep = $this->getResponse('html'); 
-      $rep->title = 'Hello World !'; 
-       
-      $rep->bodyTpl = 'hello'; 
-      $rep->body->assign('nom','Moi'); 
-     
-      return $rep; 
-   } 
-} 
-</code> 
- 
- 
- 
- 
- 
-===== Premier affichage ===== 
- 
-Nous sommes maintenant prêts à afficher notre page. Votre application est accessible normalement via l'URL http://localhost/jelix-1.0/hello/www/. Pour lancer l'application, tapez l'URL suivante dans votre navigateur : 
- 
-  http://localhost/jelix-1.0/hello/www/index.php?module=hello&action=default:index 
- 
-Vous verrez alors s'afficher votre page HTML avec le message de bienvenue. 
- 
-Bien sûr, à l'avenir, vous pourrez configurer votre application et votre serveur de manière à avoir des URLs plus simple. En particulier, vous pouvez configurer le serveur de manière à spécifier le "DocumentRoot" du site sur le répertoire //jelix-1.0/hello/www// (et donc éviter d'avoir à taper le chemin //jelix-1.0/hello/www//). Et puis sachez que Jelix peut prendre en charge les URLs significatives pour éviter tout ces paramètres disgracieux. 
- 
-Note : 
-  * Pour ceux qui testent avec Jelix 1.0 beta3.1 ou inférieur, il faut taper //default_index// et non //default:index// dans l'URL. 
- 
-Si vous voulez faire de cette action la page par défaut, éditez le fichier //hello/var/config/index/config.ini.php// et modifiez les paramètres //startModule// et //startAction// : 
- 
-<code ini> 
-startModule="hello" 
-startAction="default:index" 
-</code> 
- 
-Vous pouvez alors taper simplement dans le navigateur : 
- 
-   http://localhost/jelix-1.0/hello/www/index.php 
- 
- 
- 
- 
- 
- 
-===== Récupération de paramètres ===== 
- 
-Maintenant, il serait intéressant de pouvoir indiquer en paramètre de l'URL le nom que l'on affiche dans le template. Par exemple pouvoir indiquer "Robert" 
- 
-   http://localhost/jelix-1.0/hello/www/index.php?nom=Robert 
- 
-Remplaçons alors dans le contrôleur cette ligne : 
-<code php> 
- $rep->body->assign('nom','Moi'); 
-</code> 
- 
-par ceci : 
- 
-<code php> 
-   $nom = $this->param('nom'); 
-   $rep->body->assign('nom', $nom); 
-</code> 
- 
-Et tapez l'URL précédente dans votre navigateur. vous devriez voir afficher : 
- 
-<code> 
-   Hello Robert ! 
- 
-   Bienvenue dans Jelix ! 
-</code> 
- 
- 
- 
- 
-===== Conclusion ===== 
- 
-Ce mini tutoriel vous a fait découvrir les premiers concepts de base de Jelix. Vous pouvez continuer à découvrir les possibilités du framework en lisant le [[tutoriels:principal|tutoriel principal]]. 
- 
------ 
-   * Retourner à [[:presentation|la présentation]] 
-   * Aller à la [[documentation:|documentation]] 
-   * Continuez de découvrir Jelix avec le [[tutoriels:principal|tutoriel principal]] 
fr/tutoriels/minitutoriel/1.0.2.txt · Dernière modification : 2012/04/14 19:50 de laurent
Fils rss des changements récents dans le wiki Creative Commons License