INSTALLATION_MANUELLE_mode_expert.txt 10.3 KB
***************************************************
* PROCEDURE D'INSTALLATION MANUELLE (mode expert) *
***************************************************

 
A - Sans utiliser Eclipse (mode console simple)
***********************************************

Aller dans le repertoire où vous souhaitez installer le projet 
(de préférence dans le répertoire des documents du serveur Web, qui serait "htdocs/" pour Apache)

Depuis ce répertoire, importez le projet :

- importation simple (si vous voulez juste installer, mais ne pas collaborer sur le projet) : 
svn export https://usvn-inventirap.irap.omp.eu/repo/inventirap/trunk labinvent

- importation synchronisée (si vous voulez collaborer ensuite sur le projet) :
remplacer "export" par "checkout"


Allez maintenant directement au point II (Configuration du projet LABINVENT) pour configurer le projet.



B - Avec l'IDE ECLIPSE (pour les développeurs)
***********************************************


1) Préparation d'Eclipse

Si vous n'utilisez pas Eclipse, passez directement à la section suivante (II - Configuration du projet INVENTIRAP)

Download Eclipse pour Php (plugin PDT déjà inclus) : 
http://www.eclipse.org/downloads
(sinon, éventuellement http://www.eclipse.org/downloads/index-developer.php)
(on peut aussi télécharger un eclipse standard, et lui ajouter ensuite le plugin PDT)
Choisir "Eclipse for PHP Developpers"
Fin 2014, j'ai téléchargé la version Luna 4.4.1 SR1
Workspace proposé par défaut : /Users/pallier/Documents/workspace
(==> remplacé par /Users/pallier/projects/Eclipse/eclipse_luna_php_workspace)

Cliquer sur "Workbench"

Se placer dans la perspective PHP

Installer un client svn avec le plugin subversive : 
Help/Eclipse Marketplace, chercher "subversive"
Installer Subversive (pour moi, c'était version 2.0.1)
Restart Eclipse

File/Import/From svn
==> demande à installer un connecteur svn
J'ai choisi le plus récent, soit "svn kit 1.8.7" (compatible avec svn 1.7 et 1.8)
(il contient Subversive svn connectors 4.1.2)

Restart Eclipse

2) Recupération du projet 

File/Import/From svn (2ème fois)
URL : https://usvn-inventirap.irap.omp.eu/repo/inventirap/trunk
(répondre Non à la proposition de normaliser l'arborescence)
donner un nom, par exemple : labinvent2015
Utiliser emplacement : 
- par défaut (directement dans le dossier d'Eclipse, c'est plus simple)
ou bien
- /Applications/XAMPP/xamppfiles/htdocs (si on veut que le projet s'execute directement dans le dossier web apache htdocs, mais ca n'est pas obligatoire...)

S'assurer que le projet est bien reconnu comme un projet PHP (il doit y avoir un petit "P" sur le dossier racine du projet)
Si ça n'est pas le cas, vérifier que le fichier .project (à la racine) contient bien
	<natures>
		<nature>org.eclipse.php.core.PHPNature</nature>
	</natures>
NB : Le fichier .project est normalement versionné et donc le projet labinvent devrait être reconnu automatiquement comme projet PHP

S'assurer que les fichiers de vue de cakephp (*.ctp) sont bien reconnus comme des fichiers PHP.
Pour tester cela, ouvrir le fichier de vue cakephp/app/View/Categories/get_all.ctp
Si ce fichier s'ouvre comme un simple fichier texte, c'est qu'il n'est pas reconnu par Eclipse comme un fichier Php. 
Il faut donc associer l'editeur Php a l'extension de fichier "*.ctp" :
- Preferences/General/Content types
- Dans la liste "Content types", ouvrir la section "Text", selectionner PHP
- Ajouter l'extension "*.ctp"

Vérifier la version de php utilisée (il serait préférable d'utiliser la meme version que celle du serveur officiel, début 2015 c'est toujours php 5.3) :
- Clic-droit sur le projet, Propriétés
- PHP
- Interpreter
- Enable project specific settings, PHP Version : "PHP 5.3"

S'assurer que le texte est bien encodé en UTF-8 par défaut :
clic-droit sur le dossier racine du projet (dans PHP Explorer), Properties, Resource : dans la zone "Text file encoding" cocher "Other" et sélectionner UTF-8
(
Il faudrait commiter ça mais je ne sais pas trop si c'est risqué ou pas.
Les fichiers concernés sont :
- .project (déjà versionné) : car il commence par la ligne "<?xml version="1.0" encoding="UTF-8"?>"
- mais c'est surtout celui-ci qui compte (actuellement ignoré de svn) : .settings/org.eclipse.core.resources.prefs : car sa 2eme ligne est "encoding/<project>=UTF-8"
)

Les éléments suivants sont normalement DEJA ignorés par svn (svn:ignore), à vérifier :
- .settings/
- cakephp/app/tmp/ : tout sauf 
	- documents/
- cakephp/app/Config/ :
	- database.php
	- labinvent.php




*********************************************************
REMARQUES INTERRESSANTES (MAIS VOUS POUVEZ LES IGNORER)

// DEBUT DES REMARQUES

A la racine du projet, j'ai plusieurs éléments cachés de configuration Eclipse :

1) fichier .buildpath 
Il est versionné puisque "svn status .buildpath" (depuis la console) ne donne rien
Il contient :

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
        <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
        <buildpathentry kind="lib" path="docs/mockup/mockup_html.zip"/>
        <buildpathentry kind="src" path="cakephp"/>
</buildpath>

2) fichier .project
Il est déjà versionné
Il contient :
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>invirap</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
                        <name>org.eclipse.wst.common.project.facet.core.builder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        <name>org.eclipse.wst.validation.validationbuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        <name>org.eclipse.dltk.core.scriptbuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>
        <natures>
                <nature>org.eclipse.php.core.PHPNature</nature>
                <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
        </natures>
</projectDescription>

3) dossier .settings/ (exclus de svn)
Il contient 3 fichiers :

- org.eclipse.core.resources.prefs : bizarrement, il ne contient que quelques références seulement :
eclipse.preferences.version=1
encoding//cakephp/app/Controller/MaterielsController.php=UTF-8
encoding//cakephp/app/View/Elements/menu_view.ctp=UTF-8
encoding//cakephp/app/View/Layouts/default.ctp=UTF-8
encoding//cakephp/app/View/Materiels/index.ctp=UTF-8
encoding//cakephp/app/View/Materiels/scaffold.view.ctp=UTF-8
encoding//database/Upd_TableConstraints.sql=UTF-8
encoding//database/update/README.txt=UTF-8
encoding//docs/HOWTO.txt=UTF-8
encoding//install/HOWTO.txt=UTF-8
encoding/<project>=UTF-8

- org.eclipse.php.core.prefs
eclipse.preferences.version=1
include_path=0;/invirap\u00051;/invirap/docs/mockup/mockup_html.zip

- org.eclipse.wst.common.project.facet.core.xml : sans doute inutile ? (lié à "Faceted Project Validation Builder" dans Properties/Builders)
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="php.core.component"/>
  <fixed facet="php.component"/>
  <installed facet="php.core.component" version="1"/>
  <installed facet="php.component" version="5.4"/>
</faceted-project>

// FIN DES REMARQUES
*********************************************************


II - Configuration du projet LABINVENT
**************************************************

Cette section n'est plus à jour.
voir install/INSTALLATION.txt pour des informations fiables.

Aller dans install/

Faire une copie de config.sh.default et l'appeler config.sh (ne surtout pas modifier config.sh.default)

Faire votre config perso dans config.sh (attention, ne pas inclure ce fichier dans le "versionning" svn, afin qu'il ne soit pas inclut dans les commits)

Creer un compte mysql pour autoriser la creation de votre BD (en respectant la config mise dans config.sh via les variables DBHOST, DBUSERNAME, DB...) :

Depuis la console, allez dans le repertoire d'installation du projet.
Pour moi, c'est : 
cd /Users/pallier/XAMPP/htdocs/inventirap/install/

Configurer le projet :
Executer le fichier install.sh : ./install.sh
(Vérifier que votre fichier de config perso a bien été créé dans app/Config/config.php)
(
Si vous faites du développement, modifier le fichier app/Config/core.php pour passer en mode DEBUG :
	Configure::write('debug', 2);
Sinon, mettez à 0 pour éviter les messages d'erreur :
	Configure::write('debug', 0);
)

Créer la BD (ATTENTION : Ne pas le faire si la BD existe déjà !!!)
Executer le fichier install-DB.sh : 
./install-DB.sh

Ajoutez des données pour les domaines, catégories, sous-catégories, groupes thématiques, groupes métiers, utilisateurs privilégiés (VRAIS) :
Depuis PhpMyadmin (ou autre moyen), exécutez la requête SQL database/Insert_TablesFunct.sql

Ajoutez des contraintes sur les tables :
Depuis PhpMyadmin (ou autre moyen), exécutez la requête SQL database/Upd_TableConstraints.sql

Configuration de l'authentification des utilisateurs : LDAP or not LDAP ?
Editer votre fichier app/Config/config.php (automatiquement cree par install.sh ; attention, ne pas versionner ce fichier afin qu'il ne soit pas inclus dans les commits, car c'est votre config perso)
Si on veut utiliser LDAP, laisser la config telle quelle.
Par contre, si on veut outrepasser LDAP (pour une utilisation locale de test uniquement) :
- Décommenter la variable $fakeLDAPUsers (supprimer le /* au debut et le */ la fin, ou bien copier depuis le fichier config.php.fake.default dans config.php)
- On pourra ainsi se connecter (sans mot de passe) en tant que "superadmin", "admin", "responsable", "user" (utilisateur de base), ou "lambda" (utilisateur sans aucun role defini)
- Les roles sont listes dans l'ordre décroissant du pouvoir (superadmin > admin > responsable...)
- Ajoutez de FAUX utilisateurs :
	- Editez le script database/Insert_FakeUsers.sql et définissez quelques utilisateurs (VRAIS ou/et FAUX) selon les exemples donnés.
	- Depuis PhpMyadmin (ou autre moyen), exécutez la requête SQL database/Insert_FakeUsers.sql

Verifier que l'on accede bien a la page d'accueil en pointant le navigateur sur http://localhost/$PROJECT_NAME/cakephp (par exemple : http://localhost/inventirap/cakephp)
(par exemple : http://localhost/inventirap/cakephp)