Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste : independent-components minitutoriel translate jelixnews-1.8 1.4 1.5 fin fin avant-propos creation-application

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é PHP, PHP-cli.

Téléchargement

Téléchargez Jelix depuis ([fr:telechargement:stable:1.6#edition-developer|la page de téléchargement]]), Édition Developer, et désarchivez le fichier obtenu :

tar xvzf jelix-1.6.28-opt.tar.gz
# ou
unzip jelix-1.6.28-opt.zip

Vous obtenez un répertoire jelix-1.6.28-dev dans lequel il y a lib/ et temp/. Renommez le répertoire jelix-1.6.28-dev en projet par exemple.

mv jelix-1.6.28-dev projet

Découverte des scripts Jelix

Jelix (édition developer) est fourni avec deux scripts, createapp.php et cmd.php, qui facilitent 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 createapp.php et cmd.php le font pour vous !

Le premier, createapp.php sert à créer une application Jelix. Il faut l'invoquer avec la version ligne de commande de PHP et indiquer le chemin complet de l'application à créer. il se situe dans le répertoire projet/lib/jelix-scripts/. Par exemple :

  php createapp.php /chemin/vers/le/nouveau/répertoire/de/myapp

Le second, cmd.php, sera par contre utilisé au sein de chaque application, il n'est donc plus nécessaire de spécifier le nom de l'application à chaque fois, ni de rechercher la commande hors de l'application elle-même. Il faut l'invoquer avec PHP en ligne de commande et indiquer en paramètre un nom de commande Jelix, ainsi que d'éventuels paramètres et options.

Il faut donc aller dans /chemin/vers/le/nouveau/répertoire/de/myapp et la lancer comme ceci :

  php cmd.php nom_commande [options] [paramètres]

Création d'une application

A présent commençons par créer notre application. Aller dans le répertoire projet que vous avez créé plus haut, et tapez :

cd projet/
 
php lib/jelix-scripts/createapp.php -nodefaultmodule actu.org

Le contenu de ce nouveau répertoire actu.org/ est le suivant :

  actu.org/
     application.init.php
     cmd.php
     modules/      les modules propres à votre application
     plugins/      les plugins propres à votre application
     project.xml
     responses/
     scripts/
     tests/
     var/
        config/    les fichiers de configuration de votre application
        log/       les éventuels fichiers journaux
        mails/
        overloads/ contiendra les différents fichiers que vous aurez redéfinis, issus de modules tiers.
        sessions/
        themes/    les différents thèmes possibles dans votre application
        uploads/
     www/          la racine du site

Création d'un module

Notez que nous avons utilisé l'option -nodefaultmodule pour le script createapp.php. Sans cette option, ce script créé aussi un module par défaut du même nom que l'appli (donc 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 createmodule, qui prend en paramètre le nom du module à créer. Le script à lancer est cmd.php situé dans votre nouvelle application

php cmd.php createmodule news

En tapant cette commande, Jelix vous a créé un module nommé news avec toute son arborescence et quelques fichiers indispensables. Dans actu.org/modules/news/, vous trouverez donc :

modules/news/
├── 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
├── install
│   └── install.php          script d'installation du module
├── locales                  fichiers de langues (fichiers "properties")
│   ├── en_US
│   └── 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.

fr/tutoriels/jelixnews-1.6/creation-application.txt · Dernière modification : 2020/08/03 14:49 de 127.0.0.1

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