Prochaine révision | Révision précédente |
fr:tutoriels:minitutoriel:1.3.x [2011/05/14 07:19] – créée laurent | fr:tutoriels:minitutoriel:1.3.x [2012/04/14 20:15] (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.3:jelix-scripts|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.3/jelix-scripts|installé et configuré correctement php-cli]]. |
| |
Dans une application, vous avez ensuite un script @@cmd.php@@ qui vous permet d’exécuter un certain nombre de commande pour vous aider à développer l'application. | Dans une application, vous avez ensuite un script @@cmd.php@@ qui vous permet d’exécuter un certain nombre de commande pour vous aider à développer l'application. |
{{tutoriels:start_page_fr.png}} | {{tutoriels:start_page_fr.png}} |
| |
Si il y a des messages d'erreurs dans la section "Vérification de l'installation", corrigez les. | S'il y a des messages d'erreurs dans la section "Vérification de l'installation", corrigez les. |
| |
| |
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.3: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.3/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.3: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.3/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 le script //createapp.php// 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.3: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 le script //createapp.php// 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.3/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.php// : | Voici le contenu de @@F@myHtmlResponse.class.php@@ tel qu'il est généré par //createapp.php// : |
</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.3: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 le script createapp.php : | 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.3/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 le script createapp.php : |
| |
<code html> | <code html> |
| |
----- | ----- |
* 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.3|tutoriel jelixnews]] | * Continuez de découvrir Jelix avec le [[fr:tutoriels:jelixnews-1.3|tutoriel jelixnews]] |