Piste :
Différences ¶
Ci-dessous, les différences entre deux révisions de la page.
Dernière révisionLes deux révisions suivantes | |||
fr:tutoriels:jelixnews-1.7:creation-application [2012/04/14 20:20] – modification externe 127.0.0.1 | fr:tutoriels:jelixnews-1.7:creation-application [2019/05/22 20:13] – laurent | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | 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 " | + | 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 " | ||
- | On considère que vous avez installé | + | On considère que vous avez installé |
+ | ===== Téléchargement | ||
+ | Créez un répertoire pour votre projet, initialisez un fichier composer.json, | ||
+ | <code bash> | ||
+ | mkdir projects | ||
+ | cd projects | ||
+ | composer init | ||
+ | composer require " | ||
+ | </ | ||
+ | Jelix 1.7 n'est pas encore tout à fait stable à l' | ||
+ | il faut donc indiquer @@dev@ pour l' | ||
- | ===== Découverte | + | Vous obtenez un répertoire @@F@vendor@@ dans lequel vous avez plusieurs |
+ | répertoires contenant les fichiers | ||
+ | utilisées par jelix. | ||
- | Jelix (édition // | ||
- | Le premier, createapp.php sert simplement à créer une application Jelix. Il faut l' | + | ===== Découverte des scripts |
- | <code bash> | + | Jelix est fourni avec trois scripts à appeler en ligne de commande, qui facilitent |
- | php createapp.php /chemin/vers/le/ | + | la création et la modification des différents fichiers d'une application basée sur |
- | </ | + | Jelix, mais aussi de modifier la configuration ou les données de l' |
+ | |||
+ | Le premier, @@vendor/bin/create-jelix-app@@ sert simplement à créer une application Jelix. | ||
+ | Il faut simplement lui indiquer | ||
- | Le second, cmd.php, sera par contre utilisé au sein de chaque application, | + | Exemple |
<code bash> | <code bash> | ||
- | | + | |
</ | </ | ||
+ | Les deux autres, @@dev.php@@ et @@console.php@@ sont installés dans chaque application. | ||
+ | @@dev.php@@ sert au développeur pour construire l' | ||
+ | sert à gérer l' | ||
===== Création d'une application ===== | ===== Création d'une application ===== | ||
- | Avant de commencer, assurez vous que l' | + | A présent commençons par créer notre application. Aller dans le répertoire |
+ | @@projects@@ que vous avez créé plus haut, et tapez : | ||
- | A présent commençons | + | <code bash> |
+ | vendor/ | ||
+ | </ | ||
+ | |||
+ | Un certain nombre de questions vous sont posés pour vous aider à configurer un | ||
+ | minimum le projet. Pour cet exemple, vous pouver garder les propositions | ||
+ | défaut, sauf pour la question "How to install jelix-www files?", | ||
<code bash> | <code bash> | ||
- | php createapp.php -nodefaultmodule | + | The web site of your company > |
+ | The licence of your application and modules (default is 'All rights reserved' | ||
+ | The url to the licence if any > | ||
+ | Copyright on your application and modules (default is '2019 actu.org') > | ||
+ | The suffix of your modules id (default is ' | ||
+ | The creator name (your name for example) (default is ' | ||
+ | The email of the creator > | ||
+ | How to install jelix-www files? | ||
+ | copy: will be copied into the www/ directory | ||
+ | | ||
+ | | ||
+ | | ||
+ | [0] copy | ||
+ | [1] vhost | ||
+ | [2] filelink | ||
+ | > 0 | ||
+ | Web path to the content of lib/jelix-www? (default is 'jelix/') > | ||
+ | Do you want to store sessions into a database? ( ' | ||
+ | Do you want to store sessions as files into a specific directory? ( ' | ||
</ | </ | ||
- | Vous obtenez alors un répertoire @@F@actu.org/ | ||
+ | Le contenu de ce nouveau répertoire @@F@actu.org/ | ||
+ | |||
+ | < | ||
actu.org/ | actu.org/ | ||
- | | + | app/ |
- | cmd.php | + | |
- | | + | |
- | | + | |
- | project.xml | + | |
- | | + | application.init.php |
- | | + | console.php un script pour lancer des commandes de maintenance sur l' |
- | tests/ | + | |
+ | | ||
+ | | ||
+ | temp/ Il contiendra tout les fichiers temporaires générés par Jelix ou l' | ||
var/ | var/ | ||
- | | + | config/ |
- | log/ | + | |
- | mails/ | + | |
- | overloads/ contiendra les différents fichiers que vous aurez redéfinis, issus de modules tiers. | + | |
- | sessions/ | + | |
- | themes/ | + | |
- | uploads/ | + | |
| | ||
- | + | </code> | |
- | + | ||
- | Vérifiez que le répertoire @@F@/chemin/ | + | |
- | + | ||
===== Création d'un module ===== | ===== Création d'un module ===== | ||
- | Notez que nous avons utilisé l' | + | Notez que nous avons utilisé l' |
+ | @@c@create-jelix-app@@. Sans cette option, ce script créé aussi un module par | ||
+ | défaut du même nom que l' | ||
+ | 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' | + | Donc maintenant que nous avons un squelette d' |
+ | créer un module, car pour le moment, votre application ne peut rien faire | ||
+ | puisqu' | ||
+ | implémenter des actions. Une action peut-être l' | ||
+ | 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. | + | 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@module: | ||
+ | paramètre le nom du module à créer. | ||
+ | est désormais | ||
<code bash> | <code bash> | ||
- | php cmd.php createmodule | + | php dev.php module: |
</ | </ | ||
- | En tapant cette commande, Jelix vous a créé un module nommé //news// avec toute son arborescence et quelques fichiers indispensables. Dans @@F@actu.org/ | + | 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/ |
- | default.classic.php | + | ├── classes |
- | | + | ├── |
- | | + | │ └── |
- | | + | ├── |
- | | + | ├── |
- | fr_FR/ | + | ├── install |
- | | + | │ ├── configure.php |
- | | + | │ └── install.php |
- | | + | ├── |
+ | │ ├── en_US | ||
+ | │ └── | ||
+ | ├── | ||
+ | ├── | ||
+ | ├── urls.xml | ||
+ | └── | ||
+ | </ | ||
Nous sommes maintenant prêts à définir des actions. | Nous sommes maintenant prêts à définir des actions. | ||