Nous allons créer une application à partir de rien. Toute application Jelix a un nom : celui de son répertoire. Nous allons appeler la notre "actu.org". On considère que vous avez installé Jelix ([[fr:telechargement:stable#edition-developer|Édition Developer]]) comme indiqué sur la page d'[[http://docs.jelix.org/fr/manuel-1.1/installation|installation]] et que vous utilisez la configuration par défaut sans avoir modifié son arborescence. Il faut avoir aussi installé PHP et PHP-cli comme il est précisé dans cette même page, pour utiliser le script //jelix.php//. ===== Découverte de Jelix-Scripts ===== Jelix (édition //developer//) est fourni avec un script, jelix.php, qui facilite la création et la modification des différents fichiers d'une application basée sur Jelix : il est possible de créer les répertoires et les fichiers de base à la main mais jelix.php le fait pour vous ! Il faut l'invoquer avec la version ligne de commande de PHP et indiquer en paramètre un nom de commande Jelix, ainsi que d'éventuels paramètres et options : php jelix.php [--NOM_APPLICATION] nom_commande [options] [paramètres] Pour ce faire, ouvrez une console et allez dans le répertoire //lib/jelix-scripts/// où est situé jelix.php. cd lib/jelix-scripts/ # sous linux/mac cd lib\jelix-scripts\ # sous windows Vous aurez remarqué qu'il faut toujours indiquer à jelix.php le nom de l'application sur laquelle la commande s'applique. Pour notre exemple, il faudrait taper ceci : php jelix.php --actu.org nom_commande [options] [paramètres] Il est possible d'éviter cela en stockant le nom de l'application dans la variable d'environnement **JELIX_APP_NAME**. Pour notre exemple faites donc ceci : export JELIX_APP_NAME="actu.org" # sous linux/mac set JELIX_APP_NAME=actu.org # sous windows Le lancement de ce script se résumera alors à : php jelix.php nom_commande [options] [paramètres] Notez enfin que vous pouvez lancer ce script depuis n'importe quel répertoire. Si vous savez par exemple que vous n'allez lancer jelix.php qu'une seule fois, pas besoin d'aller dans le répertoire du script, ni d'utiliser la variable d'environnement. Il suffit de taper : php chemin_jelix/lib/jelix-scripts/jelix.php --actu.org help # sous linux/mac php chemin_jelix\lib\jelix-scripts\jelix.php --actu.org help # sous windows ===== Création d'une application ===== Commençons par créer notre application. Jelix propose une commande pour créer toute l'arborescence d'une application : **createapp**. Tapez : php jelix.php --actu.org createapp -nodefaultmodule Vous obtenez alors un répertoire @@F@actu.org/@@, au même niveau que le répertoire @@F@lib/@@. Son contenu est le suivant : actu.org/ application.init.php application-cli.init.php jelix-scripts.init.php modules/ les modules propres à votre application plugins/ les plugins propres à votre application project.xml responses/ 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 Vérifiez que le répertoire @@F@temp/actu.org/@@ nouvellement créé a les permissions en écriture pour le serveur web. ===== Création d'un module ===== Notez que nous avons utilisé l'option @@-nodefaultmodule@@ pour la commande @@c@createapp@@. Sans cette option, cette commande créée aussi un module par défaut du même nom que l'appli (donc @@F@actu.org/modules/actu.org@@). Mais dans le cadre de ce tutoriel, nous voulons créer nous-même le module, histoire de vous montrer plus de possibilités. Donc maintenant que nous avons un squelette d'application, il va falloir créer un module, car pour le moment, votre application ne peut rien faire puisqu'il n'y a aucune action définie. En effet, il va falloir déclarer et implémenter des actions. Une action peut être l'affichage d'une page, la sauvegarde d'un formulaire, un appel de service web, etc. Les actions sont regroupées dans des modules distincts selon le domaine fonctionnel auquel elles sont rattachées. Nous allons créer par exemple un module qui va regrouper les actions pour afficher et gérer des news. Pour ce faire, il existe la commande @@c@createmodule@@, qui prend en paramètre le nom du module à créer. php jelix.php --actu.org createmodule news En tapant cette commande, Jelix vous a créé un module nommé //news// avec toute son arborescence et quelques fichiers indispensables. Dans @@F@actu.org/modules/news/@@, vous trouverez donc : classes/ vos classes métiers et services controllers/ les classes de traitement des actions default.classic.php un contrôleur daos/ les fichiers de mapping relationnel-objet forms/ fichiers de description des formulaires locales/ fichiers de langues (fichiers "properties") en_EN/ fr_FR/ module.xml fichier décrivant l'identité du module templates/ templates du module zones/ objets traitant des zones spécifiques dans une page Nous sommes maintenant prêts à définir des actions.