Prochaine révision | Révision précédente |
fr:tutoriels:minitutoriel:1.2.x [2011/05/14 06:51] – créée laurent | fr:tutoriels:minitutoriel:1.2.x [2012/04/14 20:12] (Version actuelle) – laurent |
---|
</code> | </code> |
| |
Sous windows, il faut indiquer **php.exe** au lieu de **php** bien sûr. Assurez vous d'avoir [[fr:manuel-1.2:installation:prerequis#configuration-de-php-cli-sous-windows|installé et configuré correctement php-cli]]. | Sous windows, il faut indiquer **php.exe** au lieu de **php** bien sûr. Assurez vous d'avoir [[http://docs.jelix.org/fr/manuel-1.2/jelix-scripts#configuration-de-php-cli-sous-windows|installé et configuré correctement php-cli]]. |
| |
===== Création d'une application ===== | ===== Création d'une application ===== |
Nous récupérons ici, avec la méthode @@M@getResponse@@, un objet @@C@jResponseHtml@@ identifié par le type //"html"//, et nous le retournons pour que son contenu soit renvoyé au navigateur. | Nous récupérons ici, avec la méthode @@M@getResponse@@, un objet @@C@jResponseHtml@@ identifié par le type //"html"//, et nous le retournons pour que son contenu soit renvoyé au navigateur. |
| |
L'objet @@C@jResponseHtml@@ a dans sa propriété @@P@body@@ un objet jtpl, le moteur de template fourni dans Jelix. Dans le contrôleur, nous utilisons sa méthode @@M@assignZone@@ qui veut dire : "récupère le contenu de la zone check_install qui est stockée dans le module jelix, et mets ce contenu dans la variable de template 'MAIN'". Vous verrez plus tard ce qu'est exactement [[fr:manuel-1.2:zones|une zone]]. | L'objet @@C@jResponseHtml@@ a dans sa propriété @@P@body@@ un objet jtpl, le moteur de template fourni dans Jelix. Dans le contrôleur, nous utilisons sa méthode @@M@assignZone@@ qui veut dire : "récupère le contenu de la zone check_install qui est stockée dans le module jelix, et mets ce contenu dans la variable de template 'MAIN'". Vous verrez plus tard ce qu'est exactement [[http://docs.jelix.org/fr/manuel-1.2/zones|une zone]]. |
| |
Supprimons cette ligne qui ne nous est plus utile, de manière à obtenir : | Supprimons cette ligne qui ne nous est plus utile, de manière à obtenir : |
==== Objet réponse ==== | ==== Objet réponse ==== |
| |
L'objet [[fr:manuel-1.2:responsehtml|jResponseHtml]] s'occupe de générer une réponse en HTML (donc une page en HTML). C'est ce qui correspond à la "vue" dans [le modèle MVC|http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur] en programmation web. Il génère automatiquement la partie @@E@<head>@@ du HTML, à partir de certaines de ses propriétés. | L'objet [[http://docs.jelix.org/fr/manuel-1.2/responsehtml|jResponseHtml]] s'occupe de générer une réponse en HTML (donc une page en HTML). C'est ce qui correspond à la "vue" dans [le modèle MVC|http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur] en programmation web. Il génère automatiquement la partie @@E@<head>@@ du HTML, à partir de certaines de ses propriétés. |
| |
Voyons par exemple comment modifier le titre de la page (balise HTML @@E@<title>@@ dans @@E@<head>@@) : | Voyons par exemple comment modifier le titre de la page (balise HTML @@E@<title>@@ dans @@E@<head>@@) : |
Comment est-ce possible, alors que nous n'avons rien indiqué dans l'action ? | Comment est-ce possible, alors que nous n'avons rien indiqué dans l'action ? |
| |
Nous avons vu que @@M@getResponse('html')@@ est censé renvoyer un objet @@C@jResponseHtml@@. On peut utiliser cet objet directement, mais en général il est plus pratique de redéfinir une nouvelle réponse HTML qui sera utilisée pour toutes les actions, et définissant des choses communes à toutes les pages. C'est pourquoi la commande //createapp// créé un objet héritant de @@C@jResponseHtml@@, placé dans le fichier @@F@exemple/responses/myHtmlResponse.class.php@@. Cette réponse sera utilisée pour toutes les actions de votre application (comportement modifiable bien entendu) qui appelleront @@M@getResponse('html')@@. En particulier, dans cet objet, on définit généralement les feuilles de styles CSS générales du site, le fichier de template principal (définissant par exemple l'en-tête, le menu principal et le pied de page de votre site), l'inclusion de [[fr:manuel-1.2:zones|zones]] communes etc. Bref toutes les choses que l'on n'aura pas à répéter dans les actions. | Nous avons vu que @@M@getResponse('html')@@ est censé renvoyer un objet @@C@jResponseHtml@@. On peut utiliser cet objet directement, mais en général il est plus pratique de redéfinir une nouvelle réponse HTML qui sera utilisée pour toutes les actions, et définissant des choses communes à toutes les pages. C'est pourquoi la commande //createapp// créé un objet héritant de @@C@jResponseHtml@@, placé dans le fichier @@F@exemple/responses/myHtmlResponse.class.php@@. Cette réponse sera utilisée pour toutes les actions de votre application (comportement modifiable bien entendu) qui appelleront @@M@getResponse('html')@@. En particulier, dans cet objet, on définit généralement les feuilles de styles CSS générales du site, le fichier de template principal (définissant par exemple l'en-tête, le menu principal et le pied de page de votre site), l'inclusion de [[http://docs.jelix.org/fr/manuel-1.2/zones|zones]] communes etc. Bref toutes les choses que l'on n'aura pas à répéter dans les actions. |
| |
Voici le contenu de @@F@myHtmlResponse.class.php@@ tel qu'il est généré par //createapp// : | Voici le contenu de @@F@myHtmlResponse.class.php@@ tel qu'il est généré par //createapp// : |
</code> | </code> |
| |
Nous voyons que cette réponse personnalisée indique (dans @@P@bodyTpl@@) d'utiliser le fichier de template @@F@main.tpl@@ situé dans le module "exemple", pour générer le contenu de la balise @@E@<body>@@ de la page. Notez la notation spécifique utilisée. Cette chaîne est en fait [[fr:manuel-1.2:selecteurs|un sélecteur]] Jelix. Un sélecteur est un raccourci pour désigner une ressource d'un module. Voici ce template @@F@main.tpl@@ généré automatiquement par la commande createapp : | Nous voyons que cette réponse personnalisée indique (dans @@P@bodyTpl@@) d'utiliser le fichier de template @@F@main.tpl@@ situé dans le module "exemple", pour générer le contenu de la balise @@E@<body>@@ de la page. Notez la notation spécifique utilisée. Cette chaîne est en fait [[http://docs.jelix.org/fr/manuel-1.2/selecteurs|un sélecteur]] Jelix. Un sélecteur est un raccourci pour désigner une ressource d'un module. Voici ce template @@F@main.tpl@@ généré automatiquement par la commande createapp : |
| |
<code html> | <code html> |
===== Conclusion ===== | ===== 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 [[fr:tutoriels:jelixnews-1.2|tutoriel jelixnews]]. | 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 [[http://docs.jelix.org/fr/manuel-1.2/|manuel]]. |
| |
----- | ----- |
* Retourner à [[:presentation|la présentation]] | * Retourner à [[:fr:presentation|la présentation]] |
* Aller à la [[fr:documentation:|documentation]] | * Aller à la [[fr:documentation:|documentation]] |
* Continuez de découvrir Jelix avec le [[fr:tutoriels:jelixnews-1.2|tutoriel jelixnews]] | |