Raccourcis : Contenu - rubriques - sous rubriques
EN FR

Jelix est fourni avec plusieurs scripts, dont bin/create-jelix-app, qui permet de créer facilement une nouvelle application, et dev.php installé dans l'application créé, 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 ou php7.0-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 php.ini pour la version CLI de PHP, n'est pas le même que celui utiliser par le module PHP d'Apache ou que celui de PHP-FPM. Veillez donc à activer les extensions nécessaires à l’exécution de Jelix, à la fois dans le fichier /etc/php5/apache2/php.ini, ou /etc/php5/fpm/php.ini, et dans le fichier /etc/php5/cli/php.ini. Avec PHP 7, ils peuvent se trouver dans /etc/php/php7.0/.

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, fpm, cli etc.

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 .profile qui se trouve à la racine de votre répertoire personnel (/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/php$VERSIONPHP/bin dans cette variable PATH. Remplacez $VERSIONPHP par la version PHP fournie par MAMP. 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)

export PATH=/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php7.0/bin:$PATH

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 mysqli_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 php.exe. Ex: D:\wamp\bin\php\php7.0.0 (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 php.exe 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 mutualisé

Pour utiliser jelix-scripts sur un hebergement mutualisé, il faut que votre hébergeur propose un accès SSH.

Deux particularités sont à prendre en compte :

  • en ligne de commande, la version de PHP par défaut n'est pas forcément la plus récente. Si possible, configurez votre hébergement pour avoir la version désirée, via par exemple l'interface de gestion de votre hébergeur.
  • chez certains hebergeurs, parfois certaines variables superglobales ne sont pas bien configurée. Par exemple $_SERVER['SCRIPT_NAME'] peut être absent. Il faut alors créer la variable d'environnment qui correspond. Ex: export SCRIPT_NAME=dev.php.

Consultez la documentation de votre hébergeur pour avoir un accés SSH et utiliser la bonne version de PHP.

Lancer dev.php

Ouvrez donc une console (cmd.exe sous windows), allez dans le répertoire de votre application, par exemple myapp/ :

Sous Linux/MacOS :


   cd myapp/

Sous windows :


   cd myapp\

Ensuite, vous pouvez exécuter une commande jelix selon cette syntaxe :

Sous Linux/MacOS :


php dev.php  <command_name> [options] [parameters]

Sous windows :


php.exe dev.php <command_name> [options] [parameters]

Dans la suite du manuel, la syntaxe pour Linux sera utilisée dans les exemples.

Paramètre nom de commande

Vous devez toujours appeler dev.php 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 :


   php dev.php help

La commande s'applique à l'application dans laquelle est situé le dev.php.

Utilisez la commande list pour voir la liste de toutes les commandes disponibles :


   php dev.php list

l'option -v

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 il y a des 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 lib/jelix-scripts/templates/, il y a un fichier jelix-scripts.ini. Vous pouvez le copier à deux endroits différents, en le renommant .jelix-scripts.ini :

  • soit dans l'un des répertoires parent de l'application
  • soit dans votre répertoire personnel (/home/votrelogin/ sous linux, 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


[myapp]
infoCopyright = 2020 My Company

Liste des commandes disponibles

Voici une liste non exhaustive des commandes jelix-scripts

  • Utilisation Générale :

php dev.php COMMANDE [-v] [OPTIONS] [PARAMETRES]
  • Création d'un module

php dev.php module:create <MonModule>
  • Création d'un dao

php dev.php module:create-dao <MonModule> <MonDao> <MaTable>
  • Création d'une classe basé sur un dao

php dev.php module:create-class-dao <MonModule> <MaClasse> <MonDao>
  • Création d'un form (vide ou depuis un dao avec ou sans les locales)

php dev.php module:create-form <MonModule> <MonForm> <MonDao>
  • Création d'une zone (avec ou sans son template)

php dev.php module:create-zone [--notpl] <MonModule> <MaZone> [<MonTemplate>]
  • Création d'un CRUD, cette commande va créer un dao, un form et le contrôleur CRUD

php dev.php module:create-dao-crud <le_module> <la_table> <le_nom_du_controleur>

Tapez php dev.php help pour avoir l'aide générale ou php dev.php list pour afficher la liste complète des commandes et le détails de leurs paramètres. D'autres chapitres du manuel vous expliqueront l'utilisation de certaines commandes.