Labinvent nouvelle version

Version 29 (Alexandre Cases, 04/19/2016 03:17 pm)

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