Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste :

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:tutoriels:jelixnews-1.7:creation-application [2012/04/14 20:20] – modification externe 127.0.0.1fr:tutoriels:jelixnews-1.7:creation-application [2019/09/10 08:35] (Version actuelle) – [Téléchargement] 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 "actu.org".+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 de [[http://docs.jelix.org/fr/manuel-1.3/mise-en-route|mise en route]] 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//.+On considère que vous avez installé PHP, PHP-cli et [[https://getcomposer.org/doc/00-intro.md|Composer]]
  
 +===== Téléchargement  =====
  
 +Créez un répertoire pour votre projet, initialisez un fichier composer.json, et installer le paquet jelix/jelix-standard
  
 +<code bash>
 +mkdir projects
 +cd projects
 +composer init
 +composer require "jelix/jelix-standard ^1.7.0"
 +</code>
  
 +Vous obtenez un répertoire @@F@vendor@@ dans lequel vous avez plusieurs
 +répertoires contenant les fichiers de Jelix et toutes les bibliothèques
 +utilisées par jelix.
  
-===== Découverte de Jelix-Scripts ===== 
  
-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 !+===== Découverte des scripts Jelix =====
  
-Le premier, createapp.php sert simplement à créer une application Jelix. Il faut l'invoquer avec la version ligne de commande de PHP et indiquer simplement le chemin complet de l'application à créer. Pour ce faire, ouvrez une console et allez dans le répertoire //lib/jelix-scripts/// où est situé createapp.php :+Jelix est fourni avec trois scripts à appeler en ligne de commande, qui facilitent 
 +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'application.
  
-<code bash> +Le premier, @@vendor/bin/create-jelix-app@@ sert simplement à créer une application Jelix. 
-  php createapp.php /chemin/vers/le/nouveau/répertoire/de/myapp +Il faut simplement lui indiquer le chemin complet de l'application à créer.
-</code>+
  
-Le second, cmd.php, sera par contre utilisé au sein de chaque application, il n'est donc plus nécessaire de spécifier celle-ci à chaque fois, ni de rechercher la commande hors de l'application elle-même. 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. Pour ce faire, ouvrez une console et allez dans le répertoire ///chemin/vers/le/nouveau/répertoire/de/// où est situé cmd.php :+Exemple :
  
 <code bash> <code bash>
-  php cmd.php nom_commande [options] [paramètres]+  vendor/bin/create-jelix-app /chemin/vers/le/nouveau/répertoire/de/myapp
 </code> </code>
  
 +Les deux autres, @@dev.php@@ et @@console.php@@ sont installés dans chaque application.
 +@@dev.php@@ sert au développeur pour construire l'application, tandis que @@console.php@@
 +sert à gérer l'application.
  
 ===== Création d'une application ===== ===== Création d'une application =====
  
-Avant de commencerassurez vous que l'utilisateur qui exécute la commande a les droits d'écriture sur le dossier var/config et les fichiers var/config/installer.ini.php var/config/index/config.ini.php+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 par créer notre applicationTapez :+<code bash> 
 +vendor/bin/create-jelix-app --no-default-module actu.org 
 +</code> 
 + 
 +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 par 
 +défaut, sauf pour la question "How to install jelix-www files?", choisissez "copy".
  
 <code bash> <code bash>
-php createapp.php -nodefaultmodule /chemin/vers/le/nouveau/répertoire/de/actu.org+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 '@actu.org') > 
 +The creator name (your name for example) (default is 'actu.org') > 
 +The email of the creator > 
 +How to install jelix-www files? 
 +   copy: will be copied into the wwwdirectory 
 +   filelink: a symbolic link into the wwwdirectory will point to the lib/jelix-www directory 
 +   vhost: you will configure your web server to set an alias to the lib/jelix-www directory 
 + (default is ''
 +  [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? ( 'y' or 'n', default is n) > 
 +Do you want to store sessions as files into a specific directory? ( 'y' or 'n', default is n) >
 </code> </code>
  
-Vous obtenez alors un répertoire @@F@actu.org/@@. Son contenu est le suivant : 
  
 +Le contenu de ce nouveau répertoire @@F@actu.org/@@ est le suivant :
 +
 +<code>
   actu.org/   actu.org/
-     application.init.php +     app/ 
-     cmd.php +         system/   les fichiers de configuration principaux de Jelix et de votre application 
-     modules/      les modules propres à votre application +         responses/    réponses personnalisées pour l'application (views) 
-     plugins/      les plugins propres à votre application +         themes/   les différents thèmes possibles dans votre application 
-     project.xml +         overloads/  contiendra les différents fichiers que vous aurez redéfinis, issus de modules tiers. 
-     responses/ +     application.init.php   le fichier inclus pour initialiser jelix et l'application 
-     scripts/ +     console.php   un script pour lancer des commandes de maintenance sur l'application 
-     tests/+     dev.php       le script pour lancer des commandes pour le développement 
 +     modules/      les modules de votre application 
 +     plugins/      les plugins de votre application 
 +     temp        Il contiendra tout les fichiers temporaires générés par Jelix ou l'application.
      var/      var/
-        config/    les fichiers de configuration de votre application +         config/   les fichiers de configuration de votre application propres au serveur où elle est installée 
-        log/       les éventuels fichiers journaux +         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      www/          la racine du site
- +</code>
- +
-Vérifiez que le répertoire @@F@/chemin/vers/le/nouveau/répertoire/de/temp/actu.org/@@ nouvellement créé a les permissions en écriture pour le serveur web. +
- +
  
 ===== Création d'un module ===== ===== Création d'un module =====
  
-Notez que nous avons utilisé l'option @@-nodefaultmodule@@ pour le script @@c@createapp@@. Sans cette option, ce script créé 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.+Notez que nous avons utilisé l'option @@--no-default-module@@ pour le script 
 +@@c@create-jelix-app@@. Sans cette option, ce script créé 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.+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. N'oubliez pas que le script à lancer sera désormais ///chemin/vers/le/nouveau/répertoire/de/myapp/cmd.php//+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:create@@, qui prend en 
 +paramètre le nom du module à créer. Le script à lancer 
 +est désormais @@dev.php@@ situé dans votre nouvelle application
  
 <code bash> <code bash>
-php cmd.php createmodule news+php dev.php module:create news --default-module
 </code> </code>
  
-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 :+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 +<code> 
-   controllers/        les classes de traitement des actions +modules/news/ 
-      default.classic.php      un contrôleur +├── classes                  vos classes métiers et services 
-   daos/               les fichiers de mapping relationnel-objet +├── controllers              les classes de traitement des actions 
-   forms/              fichiers de description des formulaires +│   └── default.classic.php  un contrôleur 
-   locales/            fichiers de langues (fichiers "properties"+├── daos                     les fichiers de mapping relationnel-objet 
-      en_EN/ +├── forms                    fichiers de description des formulaires 
-      fr_FR/ +├── install 
-   module.xml          fichier décrivant l'identité du module +│   ├── configure.php        script de configuration du module 
-   templates/          templates du module +│   └── install.php          script d'installation du module 
-   zones/              objets traitant des zones spécifiques dans une page+├── locales                  fichiers de langues (fichiers "properties"
 +│   ├── en_US 
 +│   └── fr_FR 
 +├── module.xml               fichier décrivant l'identité du module 
 +├── templates                templates du module 
 +├── urls.xml                 mapping des urls 
 +└── zones                    objets traitant des zones spécifiques dans une page 
 +</code>
  
 Nous sommes maintenant prêts à définir des actions. Nous sommes maintenant prêts à définir des actions.
  

fr/tutoriels/jelixnews-1.7/creation-application.1334434808.txt.gz · Dernière modification : 2012/04/14 20:20 de 127.0.0.1

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