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