forked from jelix/jelix-manuel-fr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjelix-scripts.gtw
245 lines (184 loc) · 9.16 KB
/
jelix-scripts.gtw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
~~LANG:EN@enman:jelix-scripts~~
Jelix est fourni avec plusieurs scripts, dont
@@F@lib/jelix-scripts/createapp.php@@, qui permet de créer facilement une
nouvelle application, et @@[email protected]@@ dans l'application crée, qui permet de
modifier facilement des éléments du projet, ou de réaliser des actions sur le
projet.
Il faut appeler ces scripts à partir d'une console, en ligne de commande, avec
la version CLI de PHP. Il faut donc installer cet exécutable avant de pouvoir
profiter pleinement de Jelix.
===== Configuration de PHP-CLI =====
==== Pour Ubuntu/Debian/autre linux ====
Vous devez installer le paquet **php5-cli** afin d'avoir la version ligne de
commande de PHP.
Attention, dans bien des distributions linux, en particulier debian/ubuntu, le
fichier de configuration de PHP @@[email protected]@@ n'est pas le même pour le PHP
d'apache que pour la version CLI de PHP. Veillez donc à activer les extensions
nécessaires à l’exécution de Jelix, à la fois dans le fichier
@@F@/etc/php5/apache2/php.ini@@ et dans le fichier @@F@/etc/php5/cli/php.ini@@
(les chemins sont valables pour debian/ubuntu). Notez que sous Debian et Ubuntu,
la configuration de la plupart des extensions sont dans des fichiers ini
séparés, et stockés dans un répertoire conf.d commun à apache et cli.
==== Pour MAMP (MacOS X) ====
Le logiciel MAMP met à votre disposition un programme PHP-Cli. Ce dernier n'est
pas le seul PHP-Cli, en effet, Mac OS vous en fournit aussi un en installation
standard. Le problème vient du fait que si vous utilisez la base de donnée MySQL
de MAMP, le PHP-Cli par défaut n'est pas configuré pour vous permettre de vous
connecter à cette dernière.
Voici comment faire pour mettre le PHP-Cli de MAMP par défaut dans le terminal :
* Ouvrez le fichier @@[email protected]@@ qui se trouve à la racine de votre
répertoire personnel (@@F@/Users/votre_login/@@)
* Modifiez la ligne où est défini la variable PATH, ou ajoutez la, le but
étant d'ajouter les chemins
@@/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5.3/bin@@ dans
cette variable PATH. Cela doit ressembler à quelque chose comme ceci
(d'autres chemins peuvent être déjà défini, et il faut dans tout les cas
mettre le $PATH à la fin)
<code bash>
export PATH=/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5.3/bin:$PATH
</code>
Si vous souhaitez mettre de nouveau le PHP-Cli de base par défaut, remettez la
ligne comme avant ou supprimez la.
==== Sous windows ====
Suivant les distributions (WAMP par ex), il est probable que le programme
php.exe n'utilise pas la même configuration php.ini que le php avec apache. Il
vous faudra certainement créer un fichier ini dans un répertoire attendu par
php.exe et/ou activer les même extensions que la version apache de PHP. Vous
risquez sinon d'avoir des erreurs du genre "fonction mysql_connect inconnu" ou
"impossible de se connecter".
Il faut de plus configurer votre système de manière à ce que php.exe soit
accessible de n'importe quel répertoire :
* cliquer droit sur l'icône //Poste de travail// puis //Propriétés//
* dans la fenêtre Propriétés système cliquez sur l'onglet //Avancé// puis sur
le bouton //Variables d'environnement//
* ensuite cliquez sur la "Variable Path" dans le bloc "Variables utilisateur"
si vous êtes le seul utilisateur sur la machine ou le bloc "Variables
système" s'il s'agit d'un serveur ou d'une machine avec plusieurs
utilisateurs (afin que tous puissent bénéficier de cette configuration).
* Dans la valeur de la variable vous ajoutez le chemin vers le répertoire qui
contient @@[email protected]@@. Ex: @@F@D:\wamp\bin\php\php5.3.13@@ (n'oubliez pas
d'ajouter le ; à la fin si vous avez plusieurs variables path)
* Validez en cliquant sur OK
* Fermez le tout et redémarrez.
Avec cette manipulation, vous pourrez exécuter @@[email protected]@@ depuis n'importe
quel répertoire notamment pour pouvoir créer des applications en ligne de
commande avec Jelix.
==== Notes pour les utilisateurs d'un hébergement OVH mutualisé ====
Ce paragraphe concerne les utilisateurs hébergeant leur site web sur serveur mutualisé d'OVH.
Deux particularités sont à prendre en compte :
* en ligne de commande, la version de PHP par défaut semble être la plus
ancienne, il faut donc appeler la plus récente (e.g. @@[email protected]@@)
soit manuellement, soit par un alias du BASH, soit par un script
* la variable superglobale @@$_SERVER['SCRIPT_NAME']@@ ne semble pas être
diffusée ce qui gêne à l'exécution du script pour la création des modules
Une solution simple répondant aux deux problématiques est la suivante. Il faut
juste créer un script BASH @@[email protected]@@ auquel on donne les droits d'exécution
et avec le contenu suivant :
<code bash>
#!/bin/bash
export SCRIPT_NAME=cmd.php
php.ORIG.5.3.5 cmd.php $*
</code>
Ensuite on appelle ce script à la place de la commande habituelle @@F@php cmd.php ...@@.
===== Lancer cmd.php =====
Ouvrez donc une console (cmd.exe sous windows), allez dans le répertoire de
votre application, par exemple @@F@myapp/@@ :
Sous linux/mac :
<code bash>
cd myapp/
</code>
Sous windows :
<code bash>
cd myapp\
</code>
Ensuite, vous pouvez exécuter une commande jelix selon cette syntaxe :
Sous windows :
<code bash>
> php.exe cmd.php command_name [options] [parameters]
</code>
Sous linux :
<code bash>
$ php cmd.php command_name [options] [parameters]
</code>
Dans la suite du manuel, la syntaxe pour linux sera utilisée dans les exemples.
==== command_name ====
Vous devez toujours appeler @@[email protected]@@ avec un nom de "commande jelix",
accompagné éventuellement de paramètres et options.
Par exemple, pour avoir de l'aide sur toutes les commandes (et avoir la liste
des commandes possibles), utilisez la commande @@help@@ :
<code bash>
php cmd.php help
</code>
La commande s'applique à l'application dans laquelle est situé le cmd.php.
==== l'option -ep ====
Quand une application a plusieurs points d'entrées (index.php, admin.php etc..),
il est utile pour certaines commandes d'indiquer pour quel point d'entrée elle
doit s'appliquer. Il faut alors indiquer le nom de ce point d'entrée avec
l'option "-ep" :
<code bash>
php cmd.php installmodule -ep admin foo
</code>
Cela installera le module foo, uniquement pour le point d'entrée admin de
l'application.
Le point d'entrée doit être déclaré dans le fichier project.xml de l'application
pour que cela fonctionne.
==== l'option -v ====
C'est une option valable pour toutes les commandes depuis la version 1.3.3. Elle
vous permet d'afficher les détails de ce qu'à fait la commande après son
exécution. Par défaut, une commande n'affiche rien dans la console, sauf si les
erreurs. Si vous voulez afficher les détails à chaque fois, vous pouvez modifier
la configuration de jelix-scripts avec l'option @@verboseMode=true@@. Voir
ci-dessous.
===== Changer la configuration par défaut =====
Les commandes de création d'application, de module etc respectent une
arborescence précise. Mais ce n'est pas forcément celle que vous voulez
utiliser. Il y a aussi des informations qui sont insérées dans les fichiers
crées, notamment dans les commentaires d'en-tête, comme par exemple le nom de
l'auteur, le site web etc. Vous pouvez changer cela.
Pour ce faire, dans @@F@lib/jelix-scripts/templates/@@, il y a un fichier
@@[email protected]@@. Vous pouvez le copier à deux endroits différents, en le
renommant @@[email protected]@@ :
* soit dans l'un des répertoires parent de l'application
* soit dans votre répertoire personnel (@@F@/home/votrelogin/@@ sous linux, @@F@c:\Users\votrelogin\@@ sous windows 7)
Jelix cherchera ce fichier d'abord dans le répertoire courant, puis dans les
repertoires parents, et ensuite dans votre répertoire personnel. Cela permet
d'avoir des fichiers différents pour chaque projet.
Modifiez-le en changeant les valeurs voulues.
Vous pouvez aussi avoir des paramètres différents en fonction des applications
dans un même fichier. Créez simplement une section dans ce fichier ini, ayant
pour nom celui du répertoire de l'application
<code ini>
[myapp]
infoCopyright = 2012 My Company
</code>
===== Liste des commandes disponibles =====
Voici une liste non exhaustive des commandes jelix-scripts
* Utilisation Générale :
<code>
php cmd.php COMMANDE [-v] [-ep ENTRYPOINT] [OPTIONS] [PARAMETRES]
</code>
* Création d'un module
<code>
php cmd.php createmodule [MonModule]
</code>
* Création d'un dao
<code>
php cmd.php createdao [MonModule] [MonDao] [MaTable]
</code>
* Création d'une classe basé sur un dao
<code>
php cmd.php createclassfromdao [MonModule] [MaClasse] [MonDao]
</code>
* Création d'un form (vide ou depuis un dao avec ou sans les locales)
<code>
php cmd.php createform [MonModule] [MonForm] [MonDao]
</code>
* Création d'une zone (avec ou sans son template)
<code>
php cmd.php createzone [-notpl][MonModule] [MaZone] [MonTemplate]
</code>
* Création d'un CRUD, cette commande va créer un dao, un form et le contrôleur CRUD
<code>
php cmd.php createdaocrud le_module la_table le_nom_du_controleur
</code>
Tapez @@php cmd.php help@@ pour avoir la liste complète des commandes.