INSTALLATION DE JADE

Ce document a pour objectif de vous guider dans le processus d'installation de JADE.

PRÉALABLES

Jade fonctionne dans un environnement supportant PHP version 4 et Postgres version 7.4. Vous devez donc avoir comme préalable l'environnement de développement suivant :
- Serveur Web supportant l'exécution de script PHP
- PHP version 4 et plus
- PostgreSQL version 7.4 et plus

ÉTAPES D'INSTALLATION

Ce guide se divise en 5 grandes étapes qui serviront à vous aider dans l'installation du framework JADE :
- Création de la structure des répertoires
- Copie du répertoire CMS (répertoire principal de Jade)
- Installation de la base de données
- Configuration
- Démarrage d'un projet

CRÉATION DE LA STRUCTURE DE RÉPERTOIRES

Jade peut être utilisé directement par une application ou être partagé par plusieurs applications. Ces structures peuvent être combinées.
Le répertoire CMS doit être accessible à partir de l'Internet (Apache DocumentRoot).
Voici trois exemples de configuration que nous vous proposons, pour l'utilisation de JADE. Vous pouvez choisir parmi ces trois configurations, celle qui s'adapte le mieux à votre développement.
Aux fins de l'exemple, nous utiliserons le répertoire /var/www/ comme répertoire principal de notre serveur Web.

EXEMPLE 1 - CONFIGURATION POUR UNE SEULE APPLICATION
Le répertoire CMS se trouve dans un sous-répertoire de l'application. Vous disposez du répertoire application1 se trouvant dans votre répertoire principal:
/var/www/application1/

Copier le répertoire CMS dans le répertoire application1 :
/var/www/application1/cms/

Copier le fichier index.php se trouvant dans le répertoire CMS vers la racine du 
répertoire application1 :
/var/www/application1/ index.php

Vous aurez comme structure de répertoire final :
/var/www/application1/
/var/www/application1/cms/
/var/www/application1/ index.php

EXEMPLE 2 - CONFIGURATION POUR PLUSIEURS APPLICATIONS
Si votre système d'exploitation supporte l'utilisation des liens symboliques vous pouvez créer des liens symboliques plutôt que de copier les répertoires et les fichiers. Les deux façons de procéder vous seront décrites dans ce guide.
Dans notre exemple, deux applications utilisent Jade. Vous disposez de deux répertoires application1 et application2 se trouvant tous les deux à la racine de votre serveur Web.

SYSTEME NE SUPPORTANT PAS LES LIENS SYMBOLIQUES
Vous disposez des répertoires d'application de la manière suivante :
/var/www/application1/
/var/www/application2/

Copier le répertoire CMS dans le répertoire principal de votre serveur Web :
/var/www/cms/

Copier le fichier index.php du répertoire CMS vers le répertoire application1 :
/var/www/application1/index.php

Copier le fichier index.php du répertoire cms vers le répertoire application2 :
/var/www/application2/index.php

Copier le répertoire CMS dans le répertoire application1 :
/var/www/application1/cms/

Copier le répertoire CMS dans le répertoire application2 :
/var/www/application2/cms/
SYSTEME SUPPORTANT LES LIENS SYMBOLIQUES
Vous disposez des répertoires d'application de la manière suivante:
/var/www/application1/
/var/www/application2/

Copier le répertoire CMS dans le répertoire principal de votre serveur Web :
/var/www/cms/

Créer un lien symbolique à partir du fichier index.php du répertoire CMS vers le 
répertoire application1 :
/var/www/application1/index.php -> /var/www/cms/index.php

Créer un lien symbolique à partir du fichier index.php du répertoire CMS vers le 
répertoire application2 :
/var/www/application2/index.php -> /var/www/cms/index.php

Créer un lien symbolique à partir du répertoire CMS vers le répertoire 
application1 : 
/var/www/application1/cms/ -> /var/www/cms/

Copier le répertoire CMS dans le répertoire application2 :
/var/www/application2/cms/

Vous aurez comme structure de répertoire final :
/var/www/cms/
/var/www/application1/cms ->../cms/
/var/www/application2/cms ->../cms/
/var/www/application1/index.php ->../cms/index.php
/var/www/application2/index.php ->../cms/index.php

EXEMPLE 3 - PLUSIEURS INSTANCES D'UNE MÊME APPLICATION
Dans cet exemple, nous vous proposons l'utilisation du répertoire CMS pour plusieurs instances d'une même application. L'utilité d'avoir plusieurs instances vous permet de tester votre application avec des configurations différentes. Des modifications aux fichiers de l'application affecteraient toutes les instances.
L'utilisation d'une configuration avec plusieurs instances est utile uniquement si nous disposons d'un système d'exploitation qui permet l'utilisation de liens symboliques. Dans le cas contraire, vous devez faire des copies de votre répertoire de travail dans chacun des répertoires d'instances.
Dans cet exemple, nous montrons uniquement la configuration pour des systèmes d'exploitation qui supportent l'utilisation de liens symboliques.
Supposons que nous voulons créer trois instances (instance1, instance2, instance3) d'une même application et utilisons le répertoire application1 comme répertoire de fichiers de traitement.
Copier le répertoire CMS dans le répertoire principal de votre serveur Web :
/var/www/cms/

Créer le répertoire application1 contenant les fichiers et répertoires de 
travail :
/var/www/application1/
/var/www/application1/form/

Créer les liens symboliques nécessaires pour le répertoire CMS :
/var/www/application1/cms/ -> ../../cms/

Créer les liens symboliques nécessaires pour le fichier index.php :
/var/www/application1/index.php -> ../cms/index.php 

Créer le répertoire application qui contiendra les instances de votre 
application :
/var/www/application/instance1/
/var/www/application/instance2/
/var/www/application/instance3/

Pour chacune des instances :
Créer le lien sy  mbolique nécessaire pour pointer vers le fichier index.php du 
/var/www/cms/ :
/var/www/application/instanceX/cms/index.php -> ../../index.php

Créer le lien symbolique nécessaire pour pointer vers le répertoire 
application1 :
/var/www/application/instanceX/application1/ -> ../../application1/

Créer le lien symbolique nécessaire pour pointer vers le répertoire cms :
/var/www/application/instanceX/cms/ -> ../../cms/

Vous aurez comme structure de répertoire final :
/var/www/cms/
/var/www/cms/index.php

/var/www/application1/
/var/www/application1/config_application.php
/var/www/application1/index.php -> ../cms/index.php 
/var/www/application1/form/
/var/www/application1/cms/ -> ../../cms/

/var/www/application/instance1/
/var/www/application/instance1/cms/index.php -> ../../index.php
/var/www/application/instance1/application1/ -> ../../application1/
/var/www/application/instance1/cms/ -> ../../cms/

/var/www/application/instance2/
/var/www/application/instance2/cms/index.php -> ../../index.php
/var/www/application/instance2/application1/ -> ../../application1/
/var/www/application/instance2/cms/ -> ../../cms/

/var/www/application/instance3/
/var/www/application/instance3/cms/index.php -> ../../index.php
/var/www/application/instance3/application1/ -> ../../application1/
/var/www/application/instance3/cms/ -> ../../cms/

Voici un affichage de la hiérarchie des répertoires que vous devrez avoir :
www
  |- cms (copie du répertoire cms)
  |- application1
      |- config_application.php
      |- form (contenant les formes spécifiques à l'application1)
      |- index.php -> ../cms/index.php *
      |- cms/ -> ../cms/ *
  |- application
      |- instance1
          |- index.php -> ../../cms/index.php *
          |- application1/ -> ../../application1/ * 
          |- cms/ -> ../../cms/ *
      |- instance2
          |- index.php -> ../../cms/index.php *
          |- application1/ -> ../../application1/ *
          |- cms/ -> ../../cms/ *
      |- instance3
          |- index.php -> ../../cms/index.php *
          |- application1/ -> ../../application1/ *
          |- cms/ -> ../../cms/ *
* lien symbolique ou copie si le système ne supporte pas les liens symboliques.

INSTALLATION DE LA BASE DE DONNÉES

JADE utilise PostgreSQL comme base de données relationnelles, vous devez donc installer PostgreSQL sur votre serveur. Si vous n'avez pas encore installé le "package" de PostgreSQL, vous pouvez le télécharger sur le site officiel de PostgreSQL à l'adresse http://www.postgresql.org et l'installer.
Après avoir installé le "package" de PostgreSQL, il vous faut activer les paramètres de PHP dans le fichier php.ini afin de lui permettre d'utiliser les fonctions de PostgreSQL. Pour plus de détails concernant la configuration de PHP vous pouvez vous référer au manuel de configuration de PHP à l'adresse http://ca.php.net/manual/en/ini.php.
Vous trouverez dans le "package" JadeBD_0_58.zip ou JadeBD_0_58.tar.gz un fichier create_jade_schema.sh. Ce fichier devra être exécuté afin d'initialiser votre base de données et créer la structure des tables et procédures stockées.

CONFIGURATION DE L'APPLICATION

Vous trouverez dans le répertoire CMS un fichier nommé cms_config.php, ce fichier servira à définir les paramètres de JADE.
Identifier la ligne débutant par set_constant("APPLICATION_PATH",...)

Cette ligne sert à définir les répertoires qui peuvent contenir des fichiers à lire et à garder en mémoire. Vous pouvez l'utiliser pour définir le chemin du répertoire CMS. Cette variable fonctionne de la même façon que le search path en php.
Pour l'exemple 1 et 2
set_constant("APPLICATION_PATH","./:cms/"); 

Pour l'exemple 3
set_constant("APPLICATION_PATH","./:application1/:cms/");

Dans le fichier config_application.php, vous devez ajouter ou modifier les 
lignes suivantes nécessaires à l'utilisation de la base de données. 

set_constant("DATABASE", "host=trex dbname=cms_tutoriel 
                         user=cms_tutoriel_user password=cms_tutoriel_user");
set_constant("DATABASE_MAIN", get_constant("DATABASE"));
Pour plus de détails sur la configuration veuillez vous référer au guide du programmeur.
Lorsque la configuration sera terminée, les options suivantes seront alors disponibles. Les détails de l'utilisation de ces options vous seront présentés dans le guide du programmeur.
cms_connexion : Ouvrir une session
cms_deconnexion : Fermer la session
cms_inscription : Inscription
cms_oublimotpasse : J'ai oublié mon mot de passe
cms_plan : Plan du site
cms_chgpwd : Changement de mot de passe 
cms_system : Système	 
cms_usparameter : Paramètres de l'utilisateur	
mas_action : Menus
mas_droit_groupes : Droits par groupe
mas_utilisateur : Utilisateurs