Labinvent nouvelle version

Version 38 (Etienne Pallier, 04/20/2016 11:22 am)

1 38 Etienne Pallier
h1. Labinvent 2.0 (cakephp3)
2 2 Alexandre Cases
3 38 Etienne Pallier
h2. Installation Labinvent 2.0
4 7 Alexandre Cases
5 17 Alexandre Cases
h3. A/ PREREQUIS
6 8 Alexandre Cases
7 18 Alexandre Cases
* Un serveur web (apache avec le mod_rewrite actif)
8 18 Alexandre Cases
* Un serveur de base de données (MySQL)
9 18 Alexandre Cases
* PHP 5.5.9 ou plus 
10 19 Alexandre Cases
* Extension PHP "mbstring"
11 19 Alexandre Cases
* Extension PHP "intl"
12 18 Alexandre Cases
13 19 Alexandre Cases
* Librairie "gd"
14 19 Alexandre Cases
* Librairie PHP "php-gd" (même version que PHP)
15 19 Alexandre Cases
* Librairie "zlib"
16 18 Alexandre Cases
17 18 Alexandre Cases
Il est aussi conseillé d'avoir un "phpmyadmin" installé pour pouvoir gérer manuellement la base de données.
18 8 Alexandre Cases
19 24 Alexandre Cases
* Après avoir installer tous les prérequis, récupérer l'archive "labinvent.tar.gz".
20 22 Alexandre Cases
21 24 Alexandre Cases
* Placer cette archive à l'endroit voulu, 2 possibilités :
22 23 Alexandre Cases
- (1) soit vous placez cette archive directement dans le repertoire des sites webs du serveur web (par exemple /var/www/html/localhost/public_html/)
23 22 Alexandre Cases
- (2) soit vous la placez n'importe où ailleurs (par exemple dans votre repertoire home), et ensuite vous indiquerez au serveur web où trouver ce projet
24 22 Alexandre Cases
25 24 Alexandre Cases
* Dézipper l'archive :
26 22 Alexandre Cases
"tar xvfz labinvent.tar.gz"
27 31 Alexandre Cases
> cela crée un dossier labinvent.git/
28 22 Alexandre Cases
29 8 Alexandre Cases
h3. B/ INSTALLATION
30 1 Etienne Pallier
31 23 Alexandre Cases
Nous vous préconisons d'installer le logiciel en mode "SANS LDAP", et d'activer le mode "AVEC LDAP" par la suite, si vous en avez besoin.
32 23 Alexandre Cases
33 23 Alexandre Cases
34 24 Alexandre Cases
* Aller dans le repertoire d'installation :
35 23 Alexandre Cases
cd labinvent/install/
36 23 Alexandre Cases
37 23 Alexandre Cases
38 24 Alexandre Cases
* Exécuter le script d'installation :
39 23 Alexandre Cases
./installation.sh
40 23 Alexandre Cases
(vous pouvez le faire en tant qu'administrateur "root", mais ça n'est pas nécessaire, le script fera quelques petits "sudo" seulement quand nécessaire).
41 23 Alexandre Cases
(Conseil : à la plupart des questions, laissez les réponses par défaut)
42 23 Alexandre Cases
(Comme expliqué au début, faites une installation en mode "sans LDAP")
43 23 Alexandre Cases
44 23 Alexandre Cases
45 37 Alexandre Cases
* Configuration BD
46 37 Alexandre Cases
- Après avoir terminé le script d'installation, ouvrir le fichier ./config/app.php
47 37 Alexandre Cases
- Aller à la section Datasources 
48 37 Alexandre Cases
- Modifier les attributs "host", "username", "password" et "database" pour qu'ils correspondent à votre base de données.
49 37 Alexandre Cases
50 24 Alexandre Cases
* Autoriser les fichiers .htaccess sur le site :
51 32 Alexandre Cases
(cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting)
52 32 Alexandre Cases
53 28 Alexandre Cases
Dans le fichier apache2.conf de Apache, si vous avez déja quelque chose comme ceci, cela suffit :
54 23 Alexandre Cases
55 23 Alexandre Cases
> <Directory />
56 23 Alexandre Cases
> Options FollowSymLinks
57 23 Alexandre Cases
> AllowOverride All
58 23 Alexandre Cases
> Order deny,allow
59 23 Alexandre Cases
> Deny from all
60 23 Alexandre Cases
> </Directory>
61 23 Alexandre Cases
62 23 Alexandre Cases
Sinon, vous pouvez ajouter ceci, uniquement pour Labinvent :
63 23 Alexandre Cases
64 23 Alexandre Cases
> <Directory /labinvent>
65 23 Alexandre Cases
> Options FollowSymLinks
66 23 Alexandre Cases
> AllowOverride All
67 23 Alexandre Cases
> </Directory>
68 23 Alexandre Cases
69 23 Alexandre Cases
NB : si labinvent n'est pas dans le repertoire des sites webs, il faut mettre son chemin absolu a la place de /labinvent :
70 23 Alexandre Cases
> <Directory /chemin/abosolu/vers/labinvent>
71 8 Alexandre Cases
72 35 Alexandre Cases
* Tester l'accès web à l'application : http://localhost/labinvent.git/
73 33 Alexandre Cases
74 33 Alexandre Cases
> Remarques : 
75 33 Alexandre Cases
> > Dans CakePHP3 un serveur de développement est disponible, il faut se placer à la racine du projet faire la commande "bin/cake server".
76 33 Alexandre Cases
> > L'application devrait être accessible à l'adresse suivante par défaut : http://localhost:8765/
77 33 Alexandre Cases
78 38 Etienne Pallier
h2. Installation from scratch (Développeurs only) (Sous UBuntu) 
79 7 Alexandre Cases
80 7 Alexandre Cases
h3. Création projet avec Composer
81 2 Alexandre Cases
82 2 Alexandre Cases
* Télécharger composer.phar : 
83 2 Alexandre Cases
"curl -s https://getcomposer.org/installer | php"
84 2 Alexandre Cases
85 2 Alexandre Cases
* Avec le Composer créer un nouveau projet : 
86 2 Alexandre Cases
"php composer.phar create-project --prefer-dist cakephp/app labinvent_2.0"
87 2 Alexandre Cases
88 4 Alexandre Cases
> Voir structure projet : http://book.cakephp.org/3.0/fr/intro/cakephp-folder-structure.html
89 2 Alexandre Cases
90 2 Alexandre Cases
* On rempli la base de données avec le fichier sql
91 2 Alexandre Cases
92 2 Alexandre Cases
* On indique la BD utilisé à CakePHP dans le fichier config/app.php, propriété "Datasources".
93 2 Alexandre Cases
94 5 Alexandre Cases
* On se place à la racine du projet
95 5 Alexandre Cases
96 2 Alexandre Cases
* On génère le code Scaffold : 
97 2 Alexandre Cases
"bin/cake bake all nom_table" --> ça génére les modeles, les vues, et les controlleurs.
98 2 Alexandre Cases
99 4 Alexandre Cases
> Commande (en une fois) :
100 11 Alexandre Cases
> > bin/cake bake all categories && bin/cake bake all emprunts && bin/cake bake all groupes_metiers && bin/cake bake all groupes_thematiques && bin/cake bake all organismes && bin/cake bake all sites && bin/cake bake all sous_categories && bin/cake bake all suivis && bin/cake bake all sur_categories && bin/cake bake all type_suivis && bin/cake bake all documents && bin/cake bake all utilisateurs && bin/cake bake all materiels
101 6 Alexandre Cases
102 6 Alexandre Cases
h3. Modification de la base de données 
103 13 Alexandre Cases
> Une version du sql corrigée au fur et à mesure est disponible dans le git :
104 26 Alexandre Cases
> > Dans database/, le fichier labinvent_2.0_19-04-16 correspond à la création de la base.
105 27 Alexandre Cases
> > Dans database/, le fichier labinvent_2.0_insert-irap_19-04-16 correspond aux insertions.
106 6 Alexandre Cases
107 12 Etienne Pallier
* Table "fichiers" en doublon de "documents" => supprimer
108 12 Etienne Pallier
* Attribut organisme inutile dans la table matériel => supprimer
109 13 Alexandre Cases
110 20 Alexandre Cases
h3. Autres remarques lors du dévellopement
111 13 Alexandre Cases
112 13 Alexandre Cases
h4. instalation.sh
113 13 Alexandre Cases
114 36 Alexandre Cases
* "phpqrcode" et "fpdf" dans dossier vendor
115 30 Alexandre Cases
116 30 Alexandre Cases
* CakePHP oblige à changer le grain de sel (security.salt) par rapport a la config par défaut
117 30 Alexandre Cases
118 30 Alexandre Cases
* Remplisage du fichier config app.php par l'utilisateur (BD, grain de sel, ...) ?