Labinvent nouvelle version

Version 36 (Alexandre Cases, 04/20/2016 11:05 am)

1 21 Alexandre Cases
h1. Labinvent 2.0 (nouvelle version)
2 2 Alexandre Cases
3 7 Alexandre Cases
h2. Installation Labinvent 2.0 (Utilisateurs)
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 24 Alexandre Cases
* Autoriser les fichiers .htaccess sur le site :
46 32 Alexandre Cases
(cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting)
47 32 Alexandre Cases
48 28 Alexandre Cases
Dans le fichier apache2.conf de Apache, si vous avez déja quelque chose comme ceci, cela suffit :
49 23 Alexandre Cases
50 23 Alexandre Cases
> <Directory />
51 23 Alexandre Cases
> Options FollowSymLinks
52 23 Alexandre Cases
> AllowOverride All
53 23 Alexandre Cases
> Order deny,allow
54 23 Alexandre Cases
> Deny from all
55 23 Alexandre Cases
> </Directory>
56 23 Alexandre Cases
57 23 Alexandre Cases
Sinon, vous pouvez ajouter ceci, uniquement pour Labinvent :
58 23 Alexandre Cases
59 23 Alexandre Cases
> <Directory /labinvent>
60 23 Alexandre Cases
> Options FollowSymLinks
61 23 Alexandre Cases
> AllowOverride All
62 23 Alexandre Cases
> </Directory>
63 23 Alexandre Cases
64 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 :
65 23 Alexandre Cases
> <Directory /chemin/abosolu/vers/labinvent>
66 8 Alexandre Cases
67 35 Alexandre Cases
* Tester l'accès web à l'application : http://localhost/labinvent.git/
68 33 Alexandre Cases
69 33 Alexandre Cases
> Remarques : 
70 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".
71 33 Alexandre Cases
> > L'application devrait être accessible à l'adresse suivante par défaut : http://localhost:8765/
72 33 Alexandre Cases
73 7 Alexandre Cases
h2. Migration CakePHP3 (Sous UBuntu) 
74 7 Alexandre Cases
75 7 Alexandre Cases
h3. Création projet avec Composer
76 2 Alexandre Cases
77 2 Alexandre Cases
* Télécharger composer.phar : 
78 2 Alexandre Cases
"curl -s https://getcomposer.org/installer | php"
79 2 Alexandre Cases
80 2 Alexandre Cases
* Avec le Composer créer un nouveau projet : 
81 2 Alexandre Cases
"php composer.phar create-project --prefer-dist cakephp/app labinvent_2.0"
82 2 Alexandre Cases
83 4 Alexandre Cases
> Voir structure projet : http://book.cakephp.org/3.0/fr/intro/cakephp-folder-structure.html
84 2 Alexandre Cases
85 2 Alexandre Cases
* On rempli la base de données avec le fichier sql
86 2 Alexandre Cases
87 2 Alexandre Cases
* On indique la BD utilisé à CakePHP dans le fichier config/app.php, propriété "Datasources".
88 2 Alexandre Cases
89 5 Alexandre Cases
* On se place à la racine du projet
90 5 Alexandre Cases
91 2 Alexandre Cases
* On génère le code Scaffold : 
92 2 Alexandre Cases
"bin/cake bake all nom_table" --> ça génére les modeles, les vues, et les controlleurs.
93 2 Alexandre Cases
94 4 Alexandre Cases
> Commande (en une fois) :
95 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
96 6 Alexandre Cases
97 6 Alexandre Cases
h3. Modification de la base de données 
98 13 Alexandre Cases
> Une version du sql corrigée au fur et à mesure est disponible dans le git :
99 26 Alexandre Cases
> > Dans database/, le fichier labinvent_2.0_19-04-16 correspond à la création de la base.
100 27 Alexandre Cases
> > Dans database/, le fichier labinvent_2.0_insert-irap_19-04-16 correspond aux insertions.
101 6 Alexandre Cases
102 12 Etienne Pallier
* Table "fichiers" en doublon de "documents" => supprimer
103 12 Etienne Pallier
* Attribut organisme inutile dans la table matériel => supprimer
104 13 Alexandre Cases
105 20 Alexandre Cases
h3. Autres remarques lors du dévellopement
106 13 Alexandre Cases
107 13 Alexandre Cases
h4. instalation.sh
108 13 Alexandre Cases
109 36 Alexandre Cases
* "phpqrcode" et "fpdf" dans dossier vendor
110 30 Alexandre Cases
111 30 Alexandre Cases
* CakePHP oblige à changer le grain de sel (security.salt) par rapport a la config par défaut
112 30 Alexandre Cases
113 30 Alexandre Cases
* Remplisage du fichier config app.php par l'utilisateur (BD, grain de sel, ...) ?