| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| fr:tutoriels:jelixnews-1.1:creation-application [2009/03/18 10:15] – édition externe 127.0.0.1 | fr:tutoriels:jelixnews-1.1:creation-application [2012/04/14 20:35] (Version actuelle) – laurent |
|---|
| 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 d'[[fr:manuel-1.0: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//. | 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//. |
| |
| |
| |
| <code bash> | <code bash> |
| cd lib/jelix-scripts/ # sous linux | cd lib/jelix-scripts/ # sous linux/mac |
| cd lib\jelix-scripts\ # sous windows | cd lib\jelix-scripts\ # sous windows |
| </code> | </code> |
| |
| Pour avoir l'aide sur toutes les commandes disponibles, tapez : | 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 : |
| | |
| <code bash> | |
| php jelix.php help | |
| </code> | |
| | |
| Vous aurez remarqué qu'il faut toujours indiquer à jelix.php (sauf pour la commande //help//), le nom de l'application sur laquelle la commande s'applique. Pour notre exemple, il faudrait taper ceci : | |
| |
| <code bash> | <code bash> |
| |
| <code bash> | <code bash> |
| export JELIX_APP_NAME="actu.org" # sous linux | export JELIX_APP_NAME="actu.org" # sous linux/mac |
| set JELIX_APP_NAME=actu.org # sous windows | set JELIX_APP_NAME=actu.org # sous windows |
| </code> | </code> |
| |
| <code bash> | <code bash> |
| php chemin_jelix/lib/jelix-scripts/jelix.php --actu.org help # sous linux | 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 | php chemin_jelix\lib\jelix-scripts\jelix.php --actu.org help # sous windows |
| </code> | </code> |
| |
| <code bash> | <code bash> |
| php jelix.php createapp -nodefaultmodule | php jelix.php --actu.org createapp -nodefaultmodule |
| </code> | </code> |
| |
| Vous obtenez alors un répertoire //actu.org///, au même niveau que le répertoire //lib///. Son contenu est le suivant : | 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/ | actu.org/ |
| application.init.php | application.init.php |
| | application-cli.init.php |
| | jelix-scripts.init.php |
| modules/ les modules propres à votre application | modules/ les modules propres à votre application |
| plugins/ les plugins propres à votre application | plugins/ les plugins propres à votre application |
| |
| |
| Vérifiez que le répertoire //temp/actu.org// nouvellement créé a les permissions en écriture pour le serveur web. | 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 ===== | ===== Création d'un module ===== |
| |
| Notez que nous avons utilisé l'option //-nodefaultmodule// pour la commande //createapp//. Sans cette option, la commande créée 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. | 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... | 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. | 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. |
| |
| <code bash> | <code bash> |
| php jelix.php createmodule news | php jelix.php --actu.org createmodule news |
| </code> | </code> |
| |
| 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 : | 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 | classes/ vos classes métiers et services |