Les tutors regroupent un ensemble d'applications qui faciliteront la prise en mains du Jelix framework.
Les applications tutors tournent sous la version stable de Jelix 1.0 et versions antérieures
CE TUTORIEL EST INCOMPATIBLE AVEC Jelix 1.1 ET SUIVANT.
Vous devriez avoir lu, et réalisé en exercice, le mini tutoriel et le tutoriel principal ou être à l'aise avec Jelix. Certaines notions essentielles sont abordées dans ces deux tutoriels. Elles seront reprises ici, mais elles ne seront pas expliquées à nouveau.
Vous pouvez télécharger les source de tutors. Il s'agit de quelques applications à installer. Le Jelix framework n'est pas compris dans ce téléchargement.
Ces tutoriels vous proposent, une démarche à suivre pour réaliser une application Jelix. Je vous recommande de suivre la démarche présentée ici, en consultant les différents fichiers contenus dans le téléchargement. Nous reviendrons plus loin à l'installation de tutors.
Nous voulons réaliser une application qui servira de modèle à toutes les applications tutors. Dans les faits, il s'agit d'un simple menu et d'un template pour tutors. Malgré la simplicité du concept (un menu), se cache plusieurs composantes avec lesquelles vous construirez vos applications.
Pour réaliser cela, nous devons faire:
Nous allons diviser notre travail en quatre parties:
Partie 1
Nous devons faire une mise en place ou créer l'application tutors. C'est l'étape qui nécessite le plus de manipulations. C'est aussi l'étape, la plus simple à réaliser lors de la création d'une application.
Partie 2
Nous devons :
A cette liste de fichiers, nous devons en ajouter deux autres :
Partie 3
Nous devons :
Partie 4
Nous devons :
Comme vous l'avez peut-être compris, nous pouvons soit utiliser cet article pour créer tutors ou le télécharger de la forge de Jelix.
Pour ceux qui crée, à partir de zéro, l'application tutors
Si vous avez fait le premier choix, vous devez utiliser le script jelix.php. Pour vous aider dans cette démarche, vous trouverez les étapes à suivre dans l'article Étapes lors de la création d'une application Jelix. En tenant compte des informations suivantes;
Nom de l'application : tutors.
Nom du module : tutors.
basePath = “/jelix/tutors/www/” ou selon votre configuration préférée.
Vous devez créer 2 zones:
Aucune table, aucun dao et aucun formulaire ne sont utilisés pour ce tutors.
Également, vous devez télécharger le fichier suivant: tutors-www.zip ou tutors-www.tar.gz et le décompresser dans le répertoire /jelix/tutors/www/. Ce fichier contient les fichiers css, images, icônes et index.php de notre application.
Faites un test
Si vous tapez dans votre fureteur http://localhost/jelix/tutors/www/index.php, une page blanche s'affichera. Puisque que vous venez de créer un template nommé content.tpl, vous pouvez l'ajouter à l'action index du contrôleur par défaut.
public function index(){ $rep = $this->getResponse('html'); $rep->bodyTpl = "content"; return $rep; }
Pour ceux qui téléchargent l'application tutors
Si vous avez choisi de télécharger l'application zip ou l'application tar.gz, décompressez le fichier dans le répertoire /jelix/.
N'oubliez pas :
Remarques :
require_once (JELIX_LIB_RESPONSE_PATH.'jResponseHtml.class.php');
par la ligne :
require_once (JELIX_LIB_CORE_PATH.'response/jResponseHtml.class.php');
Faites un test
Tapez dans votre fureteur http://localhost/jelix/tutors/www/index.php et vous devriez voir l'application tutors.
Pour tous
Bien sûr, si malgré tous vos efforts vous avez une page vide dans votre fureteur, alors demandez de l'aide dans le forum Projets de la forge en mettant au début du titre de la discussion le mot tutors entre crochets, comme ceci : [tutors] titre de la discussion.
Le répertoire /jelix/tutors/www/ contient le fichier index.php. C'est le point d'entré de notre application avec réponse html. L'auteur à ajouté quelques lignes de code dans ce script. Ces lignes permettent d'inscrire dans le code html, le temps du serveur pour l'exécution du script php de la construction de la page html. Voici ces lignes de code.
// Au début du fichier $__time_start = microtime(true); ... // A la fin du fichier $__time_stop = microtime(true); echo "\n\n<!-- Temps du serveur (script php) pour la construction de la page : ".round($__time_stop-$__time_start, 5) ." secondes.-->";
Également le répertoire /jelix/tutors/www/ contient les fichiers css, javascripts et images. Il y différentes façons de créer des liens vers ces ressources. Une des façons est d'utiliser une réponse personnalisée que nous verrons plus loin. Mais ce n'est pas la seule.
Notions avancées
Pour ceux qui sont habiles avec Jelix, sachez que vous pouvez partager un répertoire. Cela est utile pour y entreposer des css, javascripts et images communs à différentes applications.
Si vous pouvez créer un alias dans la configuration de votre serveur apache:
Sinon vous pouvez modifier la structure hiéarchique de Jelix framework:
Nous sommes rendus à modifier le fichier contrôleur. Vu la simplicité de cette application, il n'y que trois actions qui affichent du texte.
L'action default_index exécute 4 tâches relativement simples:
Les deux autres actions:
Emplacements dans tutors
/jelix/tutors/modules/tutors/controllers/
Le contrôleur
Fichier à copier : default.classic.php
Guide du développeur
[http://docs.jelix.org/fr/manuel-1.0/controleurs|Le contrôleur]]
Consulter les fichiers de Jelix framework
Pour le contrôleur : /jelix/lib/jelix/core/jController.class.php
Nous en sommes à poser une autre brique à notre application. Cette brique se nomme une réponse personnalisée.
Une réponse personnalisée nous permet:
Emplacements dans tutors
/jelix/tutors/responses/
Reponse html d'une page
Fichier à copier : myhtmlResponse.class.php
Guide du développeur
Une réponse personnalisée et les templates
Consulter les fichiers de Jelix framework
Pour une réponse html : /jelix/lib/jelix/core/response/jResponseHtml.class.php
Pour le templare : /jelix/lib/jelix/tpl/jTpl.class.php
Important
Pour indiquer à Jelix que vous avez créé une réponse personnalisée, vous devez ouvrir le fichier /jelix/tutors/var/config/index/config.ini.php et ajouter dans la section [responses] la ligne suivante:
[responses] html = myhtmlResponse
Dans cette réponse html, il est intéressant de noter l'utilisation de la variable $gJConfig. Elle nous permet d'aller chercher, diverses informations de la configuration. Ainsi l'emplacement des fichiers css, javascripts ou images sera toujours connu en utilisant $gJConfig→urlengine['basePath'].
L'application tutors respecte les standards de la W3C, ils n'utilisent pas les balises <table> pour la mise en page et utilisent un fichier css pour la mise en forme. Notre layer sera le fichier template main.tpl.
Le rôle de ce template est d'assurer la mise en page pour les sections de la page d'accueil :
Il faut préciser certaines particularités:
Emplacement dans tutors
/jelix/tutors/modules/tutors/templates/
Le template principal
Fichier sources à copier : main.tpl
Guide du développeur
Les templates,
une réponse personnalisée,
localisation et
expression dans un template.
Consulter les fichiers de Jelix framework
Pour la localisation : /jelix/lib/jelix/core-modules/jelix/locales/fr_FR/jelix.UTF-8.properties.
Aussi : /jelix/lib/core/jLocal.class.php.
Pour les variables de template : /jelix/lib/tpl/jtpl.class.php.
L'action default_index() contient un example très simple d'insertion de template. Le contenu du template content.tpl est placé dans la variable de template “content” et le template main.tpl affichera le template content.tpl.
Emplacement dans tutors
/jelix/tutors/modules/tutors/templates/
Le template inséré dans un autre template
Fichiers sources à copier : content.tpl
Guide du développeur
Les templates
Consulter les fichiers de Jelix framework
Pour les propriétés et méthodes du template : /jelix/lib/jelix/tpl/jTpl.class.php
Ce tutoriel se termine par deux exemples simples d'utilisation de zones.
Emplacements dans tutors
/jelix/tutors/modules/tutors/templates/ et /jelix/tutors/modules/tutors/zones/
Le menu géré par une zone
Fichiers sources à copier : sommaire.tpl et sommaire.zone.php
Le contenu géré par une zone
Fichiers sources à copier : content2.tpl, content3.tpl et contenu.zone.php
Guide du développeur
Les zones
Consulter les fichiers de Jelix framework
Pour les propriétés et méthodes du template : /jelix/lib/jelix/tpl/jTpl.class.php
Pour la classe de base d'une zone : /jelix/lib/jelix/utils/jZone.class.php
Pour un appel direct d'un plugin : /jelix/lib/jelix/plugins/tpl/common/cfunction.zone.php
Pour exécuter ce tutoriel sur votre serveur local, vous devez taper : http://localhost/jelix/tutors/www/index.php.
Les tutors ont été créés par turowbye.
Mais il faut mentionner particulièrement la participation de laurentj, bballizlife et doms.