Labinvent nouvelle version
Version 44 (Etienne Pallier, 04/20/2016 11:56 am)
1 | 38 | Etienne Pallier | h1. Labinvent 2.0 (cakephp3) |
---|---|---|---|
2 | 2 | Alexandre Cases | |
3 | 41 | Etienne Pallier | |
4 | 42 | Etienne Pallier | {{toc}} |
5 | 42 | Etienne Pallier | |
6 | 41 | Etienne Pallier | h2. RECUPERATION DU LOGICIEL |
7 | 41 | Etienne Pallier | |
8 | 41 | Etienne Pallier | h3. Authenticate to https://gitlab.irap.omp.eu/epallier/labinvent |
9 | 41 | Etienne Pallier | |
10 | 41 | Etienne Pallier | In order to get this software, you must first authenticate on the IRAP gitlab. |
11 | 41 | Etienne Pallier | |
12 | 41 | Etienne Pallier | For this, just go to https://gitlab.irap.omp.eu/epallier/labinvent |
13 | 41 | Etienne Pallier | and either sign in with your LDAP account (if you are from IRAP), |
14 | 41 | Etienne Pallier | or register via the "Sign up" form (then, confirm your registration by answering an email sent by gitlab, |
15 | 41 | Etienne Pallier | and wait for the "SI" to authorize your registration) |
16 | 41 | Etienne Pallier | |
17 | 41 | Etienne Pallier | h3. Browse the code (from gitlab) |
18 | 41 | Etienne Pallier | |
19 | 41 | Etienne Pallier | https://gitlab.irap.omp.eu/epallier/labinvent/tree/master |
20 | 41 | Etienne Pallier | |
21 | 41 | Etienne Pallier | h3. Download it (static version, not synchronized) |
22 | 41 | Etienne Pallier | |
23 | 41 | Etienne Pallier | You can download the current version of the software. |
24 | 41 | Etienne Pallier | |
25 | 41 | Etienne Pallier | Go to https://gitlab.irap.omp.eu/epallier/labinvent/tree/master |
26 | 41 | Etienne Pallier | |
27 | 41 | Etienne Pallier | Click on "Download zip" on the up right hand corner. |
28 | 41 | Etienne Pallier | |
29 | 41 | Etienne Pallier | Double-click on it to unzip it. |
30 | 41 | Etienne Pallier | |
31 | 41 | Etienne Pallier | You should get a "labinvent.git" folder. |
32 | 41 | Etienne Pallier | |
33 | 41 | Etienne Pallier | In this documentation, this software folder will be referenced as "labinvent". |
34 | 41 | Etienne Pallier | |
35 | 41 | Etienne Pallier | (you can rename "labinvent.git" as "labinvent" if you want : "mv labinvent.git labinvent") |
36 | 41 | Etienne Pallier | |
37 | 41 | Etienne Pallier | h3. Get it from GIT (dynamic version, synchronized) |
38 | 41 | Etienne Pallier | |
39 | 41 | Etienne Pallier | (If you are using Windows, you must first get the git software, see below "Get git for Windows") |
40 | 41 | Etienne Pallier | |
41 | 41 | Etienne Pallier | By getting the software from git, you will get a dynamically synchronized version, |
42 | 41 | Etienne Pallier | which means that you will be able to update your version as soon as a new version is available |
43 | 41 | Etienne Pallier | (with the command : "git pull"). |
44 | 41 | Etienne Pallier | |
45 | 41 | Etienne Pallier | * From Eclipse : See below, section "NOTES FOR ECLIPSE USERS" |
46 | 41 | Etienne Pallier | |
47 | 41 | Etienne Pallier | * From the terminal |
48 | 41 | Etienne Pallier | |
49 | 41 | Etienne Pallier | <pre> |
50 | 41 | Etienne Pallier | git clone https://gitlab.irap.omp.eu/epallier/labinvent.git labinvent |
51 | 41 | Etienne Pallier | </pre> |
52 | 41 | Etienne Pallier | |
53 | 41 | Etienne Pallier | _(or also : git clone git@gitlab.irap.omp.eu:epallier/labinvent.git labinvent)_ |
54 | 41 | Etienne Pallier | |
55 | 41 | Etienne Pallier | If you ever get this error message... : |
56 | 41 | Etienne Pallier | <pre> |
57 | 41 | Etienne Pallier | fatal: unable to access 'https://gitlab.irap.omp.eu/epallier/labinvent.git/': Peer's certificate issuer has been marked as not trusted by the user. |
58 | 41 | Etienne Pallier | </pre> |
59 | 41 | Etienne Pallier | |
60 | 41 | Etienne Pallier | ...then, type this command (and then run again the "git clone" command): |
61 | 41 | Etienne Pallier | <pre> |
62 | 41 | Etienne Pallier | $ git config --global http.sslVerify false |
63 | 41 | Etienne Pallier | |
64 | 41 | Etienne Pallier | Then check that your config is ok: |
65 | 41 | Etienne Pallier | |
66 | 41 | Etienne Pallier | $ cat ~/.gitconfig |
67 | 41 | Etienne Pallier | [user] |
68 | 41 | Etienne Pallier | name = Etienne Pallier |
69 | 41 | Etienne Pallier | email = epallier@irap.omp.eu |
70 | 41 | Etienne Pallier | [http] |
71 | 41 | Etienne Pallier | sslVerify = false |
72 | 41 | Etienne Pallier | [push] |
73 | 41 | Etienne Pallier | default = simple |
74 | 41 | Etienne Pallier | </pre> |
75 | 41 | Etienne Pallier | |
76 | 41 | Etienne Pallier | |
77 | 41 | Etienne Pallier | (Also, the first time you get the project, git will ask you for a login and password) |
78 | 41 | Etienne Pallier | |
79 | 41 | Etienne Pallier | This creates a labinvent/ folder containing the project (with a .git/ subfolder for synchronization with the git repository) |
80 | 41 | Etienne Pallier | |
81 | 41 | Etienne Pallier | |
82 | 41 | Etienne Pallier | h4. (Windows only) : Get git for Windows |
83 | 41 | Etienne Pallier | |
84 | 41 | Etienne Pallier | * Download git at https://git-scm.com/download/win |
85 | 41 | Etienne Pallier | * Run setup (keep default configurations) |
86 | 41 | Etienne Pallier | * Once installed, open cmd |
87 | 41 | Etienne Pallier | <pre> |
88 | 41 | Etienne Pallier | $ git config --global http.sslVerify false |
89 | 41 | Etienne Pallier | </pre> |
90 | 41 | Etienne Pallier | |
91 | 41 | Etienne Pallier | You can now use your git from the cmd or the graphic client ! |
92 | 41 | Etienne Pallier | |
93 | 41 | Etienne Pallier | --- |
94 | 41 | Etienne Pallier | |
95 | 43 | Etienne Pallier | h2. INSTALLATION |
96 | 7 | Alexandre Cases | |
97 | 17 | Alexandre Cases | h3. A/ PREREQUIS |
98 | 8 | Alexandre Cases | |
99 | 18 | Alexandre Cases | * Un serveur web (apache avec le mod_rewrite actif) |
100 | 18 | Alexandre Cases | * Un serveur de base de données (MySQL) |
101 | 18 | Alexandre Cases | * PHP 5.5.9 ou plus |
102 | 19 | Alexandre Cases | * Extension PHP "mbstring" |
103 | 19 | Alexandre Cases | * Extension PHP "intl" |
104 | 18 | Alexandre Cases | |
105 | 19 | Alexandre Cases | * Librairie "gd" |
106 | 19 | Alexandre Cases | * Librairie PHP "php-gd" (même version que PHP) |
107 | 19 | Alexandre Cases | * Librairie "zlib" |
108 | 18 | Alexandre Cases | |
109 | 18 | Alexandre Cases | Il est aussi conseillé d'avoir un "phpmyadmin" installé pour pouvoir gérer manuellement la base de données. |
110 | 8 | Alexandre Cases | |
111 | 40 | Etienne Pallier | * Après avoir installé tous les prérequis, récupérer l'archive "labinvent.tar.gz". |
112 | 22 | Alexandre Cases | |
113 | 24 | Alexandre Cases | * Placer cette archive à l'endroit voulu, 2 possibilités : |
114 | 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/) |
115 | 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 |
116 | 22 | Alexandre Cases | |
117 | 24 | Alexandre Cases | * Dézipper l'archive : |
118 | 22 | Alexandre Cases | "tar xvfz labinvent.tar.gz" |
119 | 31 | Alexandre Cases | > cela crée un dossier labinvent.git/ |
120 | 22 | Alexandre Cases | |
121 | 8 | Alexandre Cases | h3. B/ INSTALLATION |
122 | 1 | Etienne Pallier | |
123 | 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. |
124 | 23 | Alexandre Cases | |
125 | 23 | Alexandre Cases | |
126 | 24 | Alexandre Cases | * Aller dans le repertoire d'installation : |
127 | 23 | Alexandre Cases | cd labinvent/install/ |
128 | 23 | Alexandre Cases | |
129 | 23 | Alexandre Cases | |
130 | 24 | Alexandre Cases | * Exécuter le script d'installation : |
131 | 23 | Alexandre Cases | ./installation.sh |
132 | 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). |
133 | 23 | Alexandre Cases | (Conseil : à la plupart des questions, laissez les réponses par défaut) |
134 | 23 | Alexandre Cases | (Comme expliqué au début, faites une installation en mode "sans LDAP") |
135 | 23 | Alexandre Cases | |
136 | 23 | Alexandre Cases | |
137 | 37 | Alexandre Cases | * Configuration BD |
138 | 37 | Alexandre Cases | - Après avoir terminé le script d'installation, ouvrir le fichier ./config/app.php |
139 | 37 | Alexandre Cases | - Aller à la section Datasources |
140 | 37 | Alexandre Cases | - Modifier les attributs "host", "username", "password" et "database" pour qu'ils correspondent à votre base de données. |
141 | 37 | Alexandre Cases | |
142 | 24 | Alexandre Cases | * Autoriser les fichiers .htaccess sur le site : |
143 | 32 | Alexandre Cases | (cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting) |
144 | 32 | Alexandre Cases | |
145 | 28 | Alexandre Cases | Dans le fichier apache2.conf de Apache, si vous avez déja quelque chose comme ceci, cela suffit : |
146 | 23 | Alexandre Cases | |
147 | 23 | Alexandre Cases | > <Directory /> |
148 | 23 | Alexandre Cases | > Options FollowSymLinks |
149 | 23 | Alexandre Cases | > AllowOverride All |
150 | 23 | Alexandre Cases | > Order deny,allow |
151 | 23 | Alexandre Cases | > Deny from all |
152 | 23 | Alexandre Cases | > </Directory> |
153 | 23 | Alexandre Cases | |
154 | 23 | Alexandre Cases | Sinon, vous pouvez ajouter ceci, uniquement pour Labinvent : |
155 | 23 | Alexandre Cases | |
156 | 23 | Alexandre Cases | > <Directory /labinvent> |
157 | 23 | Alexandre Cases | > Options FollowSymLinks |
158 | 23 | Alexandre Cases | > AllowOverride All |
159 | 23 | Alexandre Cases | > </Directory> |
160 | 23 | Alexandre Cases | |
161 | 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 : |
162 | 23 | Alexandre Cases | > <Directory /chemin/abosolu/vers/labinvent> |
163 | 8 | Alexandre Cases | |
164 | 35 | Alexandre Cases | * Tester l'accès web à l'application : http://localhost/labinvent.git/ |
165 | 33 | Alexandre Cases | |
166 | 33 | Alexandre Cases | > Remarques : |
167 | 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". |
168 | 33 | Alexandre Cases | > > L'application devrait être accessible à l'adresse suivante par défaut : http://localhost:8765/ |
169 | 33 | Alexandre Cases | |
170 | 44 | Etienne Pallier | h2. (DEV ONLY) Installation from scratch (Sous UBuntu) |
171 | 7 | Alexandre Cases | |
172 | 7 | Alexandre Cases | h3. Création projet avec Composer |
173 | 2 | Alexandre Cases | |
174 | 2 | Alexandre Cases | * Télécharger composer.phar : |
175 | 2 | Alexandre Cases | "curl -s https://getcomposer.org/installer | php" |
176 | 2 | Alexandre Cases | |
177 | 2 | Alexandre Cases | * Avec le Composer créer un nouveau projet : |
178 | 2 | Alexandre Cases | "php composer.phar create-project --prefer-dist cakephp/app labinvent_2.0" |
179 | 2 | Alexandre Cases | |
180 | 4 | Alexandre Cases | > Voir structure projet : http://book.cakephp.org/3.0/fr/intro/cakephp-folder-structure.html |
181 | 2 | Alexandre Cases | |
182 | 2 | Alexandre Cases | * On rempli la base de données avec le fichier sql |
183 | 2 | Alexandre Cases | |
184 | 2 | Alexandre Cases | * On indique la BD utilisé à CakePHP dans le fichier config/app.php, propriété "Datasources". |
185 | 2 | Alexandre Cases | |
186 | 5 | Alexandre Cases | * On se place à la racine du projet |
187 | 5 | Alexandre Cases | |
188 | 2 | Alexandre Cases | * On génère le code Scaffold : |
189 | 2 | Alexandre Cases | "bin/cake bake all nom_table" --> ça génére les modeles, les vues, et les controlleurs. |
190 | 2 | Alexandre Cases | |
191 | 4 | Alexandre Cases | > Commande (en une fois) : |
192 | 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 |
193 | 6 | Alexandre Cases | |
194 | 6 | Alexandre Cases | h3. Modification de la base de données |
195 | 13 | Alexandre Cases | > Une version du sql corrigée au fur et à mesure est disponible dans le git : |
196 | 26 | Alexandre Cases | > > Dans database/, le fichier labinvent_2.0_19-04-16 correspond à la création de la base. |
197 | 27 | Alexandre Cases | > > Dans database/, le fichier labinvent_2.0_insert-irap_19-04-16 correspond aux insertions. |
198 | 6 | Alexandre Cases | |
199 | 12 | Etienne Pallier | * Table "fichiers" en doublon de "documents" => supprimer |
200 | 12 | Etienne Pallier | * Attribut organisme inutile dans la table matériel => supprimer |
201 | 13 | Alexandre Cases | |
202 | 20 | Alexandre Cases | h3. Autres remarques lors du dévellopement |
203 | 13 | Alexandre Cases | |
204 | 13 | Alexandre Cases | h4. instalation.sh |
205 | 13 | Alexandre Cases | |
206 | 36 | Alexandre Cases | * "phpqrcode" et "fpdf" dans dossier vendor |
207 | 30 | Alexandre Cases | |
208 | 30 | Alexandre Cases | * CakePHP oblige à changer le grain de sel (security.salt) par rapport a la config par défaut |
209 | 30 | Alexandre Cases | |
210 | 30 | Alexandre Cases | * Remplisage du fichier config app.php par l'utilisateur (BD, grain de sel, ...) ? |