Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste : first-steps

Étapes lors de la création d'une application Jelix

La création d'une nouvelle application Jelix comprend une série d'étapes qui d'une application à l'autre se ressemblent. Que se soit pour un tutoriel, une application web ou même un site web.

Le but de cet article est de présenter cette démarche commune. Chaque étape décrit l'essentiel le plus succinctement possible. Également les étapes ne sont pas dans un ordre chronologique.

Pré-requis

Nous prendrons pour acquis que vous connaissez un peu Jelix, c'est-à-dire que vous avez lu le Mini tutoriel et le Tutoriel principal. Et que ces deux tutoriaux, vous ont permis de connaître et d'expérimenter les fonctionnalités de base de Jelix.

Créer une application et un module par défaut

  • Nom de l'application : myapp
  • Nom du module principal : myapp

En ligne de commandes vous tapez :

php jelix.php --myapp createapp

Cela vous créer une application qui a pour nom myapp et un module de même nom dans myapp/modules/myapp.

Vérifiez que vous avez un répertoire au nom de l'application dans le répertoire jelix/temp/. Et si vous êtes sous linux, vous devez donner le droit en écriture à l'utilisateur exécutant apache, sur les répertoires suivant :

 temp/myapp/
 myapp/var/config/
 myapp/var/log/

Créer une application et un module spécifique

Si vous ne voulez pas du module par défaut pendant la création de l'application, il faut faire :

php jelix.php --myapp createapp -nodefaultmodule 

Et ensuite, pour créer un module avec le nom main, faire

php jelix.php --myapp createmodule main

Vous avez alors un module myapp/modules/main.

Vous devez aussi modifier les propriétés startModule et startAction dans le fichier var/config/index/config.ini.php pour indiquer l'action qui sera executé par défaut quand l'url est vide. Par exemple :

 startModule = "main"
 startAction = "default:index"

Vérifiez que vous avez un répertoire au nom de l'application dans le répertoire jelix/temp/. Et si vous êtes sous linux, vous devez donner le droit en écriture à l'utilisateur exécutant apache, sur les répertoires suivant :

 temp/myapp/
 myapp/var/config/
 myapp/var/log/

Indiquer le basePath

Si vous voyez que Jelix vous génère des urls “bizarres”, qui ne correspondent pas à rien, en particulier si vous installez votre application dans un sous répertoire de votre site (c'est à dire que le index.php de jelix n'est pas à la racine de votre site), vous devez renseigner le basePath. Il s'agit d'une propriété du fichier defaultconfig.ini.php qui indique le chemin de base dans l'url, pour aller jusqu'au fichier index.php, ou plutôt jusqu'au répertoire de votre application.

Par exemple, si devez taper monsite.com/jelix/myapp/www/index.php pour appeler l'application, vous devez mettre /jelix/myapp/www/ dans basePath.

Si vous avez plusieurs points d'entrée répartis dans différents sous répertoire comme monsite.com/foo/index.php, monsite.com/foo/bar/index2.php, le basePath est la partie du chemin commun à tout les points d'entrée, donc ici /foo/.

Consultez le fichier de configuration pour avoir plus de détails.

Affecter une BD à votre application

Cette étape comporte quelques tâches qui ne sont pas gérées par Jelix, et que vous devrez faire au moyen d'outils comme phpMyAdmin pour MySql.

  1. Créer une base de données
  2. Créer une ou plusieurs tables dans la BD. Pour certains modules ou applications disponibles, il peut y avoir un répertoire install/ qui contient des scripts SQL pour créer des tables et ajouter des données. C'est le cas pour l’application testapp ou dans les tutoriaux.
  3. Ajouter les données dans la table.

Ensuite, vous devrez configurer le fichier dbprofils.ini.php pour indiquer à jelix les informations d'accés à la base de donnée (driver, login, mot de passe etc..). Voir la documentation sur jDb.

Pour quelques utilsateurs de Windows, il se peut que vous ayez des problèmes de caractères accentués.

  • Vous pouvez mettre à on la propriété force_encoding dans le profil de connexion.
  • Mais attention en activant cette propriété Jelix réalise une requête supplémentaire à chaque connexion. Pour plus de détail et une solution consulter la discussion suivante.

Créer un DAO

  • Pour l'application : myapp
  • Pour le module : forum
  • Pour le nom du DAO à créer : user
  • Pour la table : members

Dans la console tapez :

  php jelix.php --myapp createdao forum user members

Le fichier DAO sera créé dans : jelix/myapp/modules/forum/daos/user.dao.xml.

Créer un formulaire

  • Pour l'application : chat
  • Pour le module : users
  • Pour le nom du DAO sur lequel reposera le formulaire : user
  • Pour le formulaire à créer: member

Dans la console tapez :

  php jelix.php --chat createform users member user

Cela créera le fichier jelix/chat/modules/users/forms/member.form.xml.

Voici un exemple du contenu du fichier qui sera généré par jForms.

<?xml version="1.0" encoding="utf-8"?>
<form xmlns="http://jelix.org/ns/forms/1.0">
    <input ref="pk" >
        <label>Votre pk</label>
    </input>	
    <input ref="nom" >
        <label>Votre nom</label>
    </input>
    <input ref="prenom" >
        <label>Votre prénom</label>
    </input>
</form>

On déclare ici trois champs de saisie simples, faisant référence aux valeurs dont les noms sont respectivement “pk”, “nom”, “prenom”. Ces noms doivent correspondent aux propriétés d'un DAO quand on veut utiliser un formulaire conjointement avec un DAO, comme c'est le cas dans ce tutoriel.

Notez aussi les libellés associés aux champs de saisies, qui seront affichés lors de la génération du formulaire HTML correspondant.

Si vous voulez activer dans le formulaire les fonctionnalités (coté client) d'aide et de validation de données, vous devez :

  • copier les fichiers /jelix/lib/jelix-www/js/jforms.js et /jelix/lib/jelix-www/design/jform.css dans le répertoire www/ de votre application.
  • ou vous pouvez créer un alias dans la configuration de votre serveur apache.
  • sinon vous pouvez modifier la structure hiéarchique de Jelix framework.

Créer une zone

  • Pour l'application : myapp
  • Pour le module : blog
  • Pour la zone : menu
  • Pour le template : sommaire

Dans la console tapez :

  php jelix.php --myapp createzone blog menu sommaire

Le fichier zone sera créé dans : /jelix/myapp/modules/blog/zones/
Le fichier template sera créé dans : /jelix/myapp/modules/blog/templates/

La suite...

La suite dépend de vos besoins. Consulter dans la documentation de Jelix les autres tutoriaux, le manuel, la référence api ainsi que le forum.


fr/tutoriels/first-steps.txt · Dernière modification : 2012/04/14 19:43 de laurent

Fils rss des changements récents dans le wiki Creative Commons License