Installation

Version 325 (Etienne Pallier, 01/22/2018 10:33 pm)

1 1 Etienne Pallier
h1. Labinvent 2.0 (cakephp3) - Installation
2 1 Etienne Pallier
3 1 Etienne Pallier
4 20 Etienne Pallier
Cette page décrit la phase d'installation du logiciel.
5 279 Etienne Pallier
_La version la plus à jour est sur la page "Installation" du wiki du projet_ : https://projects.irap.omp.eu/projects/inventirap/wiki/Installation
6 20 Etienne Pallier
7 20 Etienne Pallier
[ [[Labinvent_nouvelle_version|Retour au sommmaire]] ]
8 20 Etienne Pallier
9 20 Etienne Pallier
10 1 Etienne Pallier
{{toc}}
11 1 Etienne Pallier
12 1 Etienne Pallier
13 1 Etienne Pallier
14 1 Etienne Pallier
---
15 1 Etienne Pallier
16 1 Etienne Pallier
h2. LIENS UTILES
17 1 Etienne Pallier
18 133 Thibaud Ajas
* HOWTO Format Redmine Wiki : http://www.redmine.org/projects/redmine/wiki/FrRedmineWikiFormatting
19 1 Etienne Pallier
20 51 Etienne Pallier
* *Fichier README* : https://gitlab.irap.omp.eu/epallier/labinvent/blob/master/README-LABINVENT.md
21 51 Etienne Pallier
22 227 Etienne Pallier
* *Version majeure en cours (2.7)*: https://projects.irap.omp.eu/versions/162
23 12 Etienne Pallier
24 50 Etienne Pallier
* Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/commits/master
25 50 Etienne Pallier
26 12 Etienne Pallier
* Browse files (gitlab): https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
27 1 Etienne Pallier
28 1 Etienne Pallier
---
29 1 Etienne Pallier
30 257 Etienne Pallier
h2. VERSION DE DEMO (en ligne)
31 214 Etienne Pallier
32 214 Etienne Pallier
http://planetoweb2.cesr.fr/labinvent2
33 214 Etienne Pallier
34 228 Etienne Pallier
(utilisateurs disponibles : "utilisateur", "responsable", "admin" sans mot de passe)
35 1 Etienne Pallier
36 215 Etienne Pallier
---
37 214 Etienne Pallier
38 215 Etienne Pallier
h2. RECUPERATION du logiciel
39 1 Etienne Pallier
40 1 Etienne Pallier
41 1 Etienne Pallier
42 113 Etienne Pallier
*1) Deux options*
43 113 Etienne Pallier
44 1 Etienne Pallier
Deux options se présentent à vous :
45 1 Etienne Pallier
46 230 Etienne Pallier
 * a) *soit vous récupérez une version statique* du logiciel, en le téléchargeant (pas besoin de login, c'est anonyme) : considérez alors cette version comme une version de test jetable car il vous faudra recommencer pour obtenir chaque nouvelle version
47 230 Etienne Pallier
 * b) (méthode préférée) *soit vous récupérez une version synchronisée*, avec git (nécessité d'avoir un login), ce qui vous permettra de rester constamment à jour (sans réinstallation), et même de contribuer à l'évolution du logiciel si vous le désirez
48 1 Etienne Pallier
49 237 Etienne Pallier
*a) (non recommandé) Téléchargement anonyme (version statique, non synchronisée, jetable)*
50 1 Etienne Pallier
51 124 Thibaud Ajas
Vous pouvez télécharger la version actuelle du logiciel.
52 1 Etienne Pallier
53 124 Thibaud Ajas
Pour cela, aller sur : https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
54 1 Etienne Pallier
55 124 Thibaud Ajas
Cliquez sur : "Download zip" dans le coin en haut à droite.
56 1 Etienne Pallier
57 124 Thibaud Ajas
Double-cliquez dessus ou dézippez-le (ou lancez la commande gzip -d labinvent.zip). Vous devriez avoir un dossier "labinvent.git".
58 1 Etienne Pallier
59 124 Thibaud Ajas
Dans sa documentation, le logiciel sera désigné par "LABINVENT".
60 1 Etienne Pallier
61 124 Thibaud Ajas
Vous pouvez renommer "labinvent.git" en "labinvent" si vous le souhaitez ("mv labinvent.git labinvent" ou clic droit->Renommer).
62 1 Etienne Pallier
63 1 Etienne Pallier
64 237 Etienne Pallier
*b) (recommandé) Récupérer le logiciel via GIT (version dynamique, synchronisée, nécessité d'un login)*
65 216 Etienne Pallier
66 113 Etienne Pallier
Pour cette option, vous devez avoir un login. Si vous n'avez pas déjà un login, allez sur la page https://gitlab.irap.omp.eu/users/sign_in,
67 113 Etienne Pallier
puis remplissez la section "Sign up". Ensuite, envoyez un email à epallier AT irap. omp. eu
68 113 Etienne Pallier
en demandant l'autorisation d'accéder au gitlab du projet labinvent. On vous donnera alors la procédure à suivre pour vous connecter.
69 113 Etienne Pallier
70 126 Thibaud Ajas
(Si vous utilisez Windows, vous DEVEZ avant tout installer git pour windows, voir plus bas "Obtenir git pour windows")
71 1 Etienne Pallier
72 126 Thibaud Ajas
En récupérant directement le logiciel via git, vous allez avoir une version dynamiquement synchronisée.
73 126 Thibaud Ajas
Vous serez donc en mesure de la mettre à jour dès qu'une nouvelle version sera disponible avec la commande "git pull".
74 1 Etienne Pallier
75 126 Thibaud Ajas
* (Depuis Eclipse : Voir plus bas, section "A L'ATTENTION DES UTILISATEURS D'ECLIPSE")
76 1 Etienne Pallier
77 126 Thibaud Ajas
* Depuis un terminal:
78 1 Etienne Pallier
79 1 Etienne Pallier
<pre>
80 1 Etienne Pallier
git clone https://gitlab.irap.omp.eu/epallier/labinvent.git labinvent
81 1 Etienne Pallier
</pre>
82 1 Etienne Pallier
83 126 Thibaud Ajas
_(Ou aussi depuis ssh : git clone git@gitlab.irap.omp.eu:epallier/labinvent.git labinvent)_
84 1 Etienne Pallier
85 126 Thibaud Ajas
Si vous obtenez ce message d'erreur ... :
86 1 Etienne Pallier
<pre>
87 1 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.
88 1 Etienne Pallier
</pre>
89 1 Etienne Pallier
90 126 Thibaud Ajas
...tapez cette commande (et relancez une commade "git clone"):
91 1 Etienne Pallier
<pre>
92 1 Etienne Pallier
$ git config --global http.sslVerify false
93 127 Thibaud Ajas
</pre>
94 1 Etienne Pallier
Puis vérifiez que votre configuration soit OK :
95 128 Thibaud Ajas
<pre>
96 134 Etienne Pallier
$ git config --list
97 134 Etienne Pallier
(ou encore : cat ~/.gitconfig)
98 135 Etienne Pallier
99 1 Etienne Pallier
[user]
100 1 Etienne Pallier
	name = Etienne Pallier
101 1 Etienne Pallier
	email = epallier@irap.omp.eu
102 1 Etienne Pallier
[http]
103 1 Etienne Pallier
	sslVerify = false
104 1 Etienne Pallier
[push]
105 1 Etienne Pallier
	default = simple
106 1 Etienne Pallier
</pre>
107 1 Etienne Pallier
108 126 Thibaud Ajas
(Si vous récupérez le projet pour la première fois, git vous demandera un login et un mot de passe)
109 1 Etienne Pallier
110 1 Etienne Pallier
Git a normalement créé un dossier "labinvent" qui contiendra votre projet (avec un sous dossier ".git" qui sert à la synchronisation avec le dépot git).
111 136 Etienne Pallier
112 216 Etienne Pallier
Par défaut, vous êtes sur la branche "master" du git. Elle contient une version stable du logiciel.
113 1 Etienne Pallier
114 218 Etienne Pallier
Si vous souhaitez contribuer au développement de ce logiciel, vous devez absolument changer de branche et vous placer sur la branche "dev" (ou bien une sous-branche dédiée comme "dev-IRAP", ou "dev-LATMOS") : 
115 216 Etienne Pallier
<pre>
116 216 Etienne Pallier
cd labinvent/
117 216 Etienne Pallier
$ git branch
118 216 Etienne Pallier
$ git checkout dev
119 216 Etienne Pallier
$ git branch
120 1 Etienne Pallier
</pre>
121 217 Etienne Pallier
122 217 Etienne Pallier
Si vous désirez seulement utiliser ce logiciel sans le modifier, alors restez sur la branche "master", vous y serez très bien ;-).
123 216 Etienne Pallier
124 136 Etienne Pallier
*Seulement pour Windows* : 
125 136 Etienne Pallier
126 136 Etienne Pallier
Obtenir git pour windows :
127 136 Etienne Pallier
128 126 Thibaud Ajas
 * Téléchargez git sur https://git-scm.com/download/win
129 126 Thibaud Ajas
 * Lancez l'installation (gardez la configuration par défaut)
130 136 Etienne Pallier
 * Une fois installé, lancer une invite de commande (Touche Windows+R, tapez cmd, touche entrer)
131 1 Etienne Pallier
<pre>
132 1 Etienne Pallier
$ git config --global http.sslVerify false
133 1 Etienne Pallier
</pre>
134 1 Etienne Pallier
Vous pouvez désormais utiliser git depuis une invite de commande ou depuis l'interface graphique de git.
135 136 Etienne Pallier
136 1 Etienne Pallier
137 53 Etienne Pallier
*2) Préparation*
138 1 Etienne Pallier
139 260 Etienne Pallier
* Si jamais votre dossier "labinvent" appartient à root (vous avez fait un "git clone" depuis root...), il serait préférable que vous en soyez vous-même (ou un autre user) le propriétaire : 
140 137 Etienne Pallier
> sudo chown -R nom_utilisateur labinvent/
141 1 Etienne Pallier
142 1 Etienne Pallier
143 215 Etienne Pallier
---
144 215 Etienne Pallier
145 1 Etienne Pallier
h2. INSTALLATION
146 1 Etienne Pallier
147 238 Etienne Pallier
h3. Plateformes testées
148 1 Etienne Pallier
149 240 Etienne Pallier
*- Fedora 20* (version test Thibault Ajas, IRAP, avril 2017)
150 239 Etienne Pallier
151 240 Etienne Pallier
*- Centos 6.6* (version de "production", SI IRAP ) :
152 239 Etienne Pallier
	- PHP : 5.6.22
153 239 Etienne Pallier
	- Mysql : 5.1.73-3.el6_5
154 239 Etienne Pallier
	- Apache : 2.2.15-39.el6.centos
155 239 Etienne Pallier
156 240 Etienne Pallier
*- Debian GNU/Linux 8.5* (jessie) (version de "production", IAS) :
157 239 Etienne Pallier
	- PHP : 5.6.22
158 239 Etienne Pallier
	- Mysql : MariaDB 10.0.25
159 239 Etienne Pallier
	- Apache : 2.4.10
160 239 Etienne Pallier
161 240 Etienne Pallier
*- Scientific Linux (=Centos) 6.4* (version dev/test Etienne Pallier linux, IRAP) :
162 239 Etienne Pallier
	- PHP : 5.6.30
163 239 Etienne Pallier
	- MYSQL : 5.5.56
164 239 Etienne Pallier
	- APACHE : 2.2.15
165 239 Etienne Pallier
166 243 Etienne Pallier
*- UBuntu 14.04.4* (Ancienne version dev/test Alexandre Cases, IRAP) :
167 243 Etienne Pallier
	- PHP : 5.5.9 (ne suffit plus)
168 239 Etienne Pallier
	- MYSQL : 5.5.47 
169 239 Etienne Pallier
	- Apache : 2.4.7
170 239 Etienne Pallier
171 263 Etienne Pallier
*- (17/1/18) Mac OS 10.13.2 avec brew* (version dev/test Etienne Pallier, IRAP) :
172 261 Etienne Pallier
	- PHP 7.2.0 + MySQL 5.7.20 + Apache 2.4.28
173 261 Etienne Pallier
174 239 Etienne Pallier
*- Mac OS 10.12.5 avec XAMPP* 5.6.3 et 7.1 (version dev/test Etienne Pallier, IRAP) :
175 1 Etienne Pallier
	- PHP 5.6.3 + MySQL 5.6.21 + Apache 2.4.10
176 261 Etienne Pallier
	- PHP7.1.6 + MariaDB 10.1.24 + Apache 2.4.25
177 238 Etienne Pallier
178 242 Etienne Pallier
h3. A/ PREREQUIS
179 1 Etienne Pallier
180 61 Etienne Pallier
Le logiciel nécessite une combinaison "AMP" pour fonctionner, soit les 3 pré-requis suivants :
181 62 Etienne Pallier
182 73 Etienne Pallier
* un serveur web Apache
183 73 Etienne Pallier
* un serveur de base de données Mysql
184 242 Etienne Pallier
* le langage Php en version 5.6 minimum ou 7.x (recommandé)
185 1 Etienne Pallier
186 68 Etienne Pallier
Si ce tiercé est déjà présent sur votre OS, vous pouvez passer à l'étape suivante (B/ Installation), et revenir ici seulement en cas de problème de configuration.
187 63 Etienne Pallier
188 61 Etienne Pallier
Sur Windows, vous pouvez utiliser Wampserver ou XAMPP qui regroupent ces 3 éléments (il n'y aura rien d'autre à faire ensuite).
189 61 Etienne Pallier
190 320 Etienne Pallier
Sur Mac, vous pouvez installer chacun des 3 éléments séparément via HomeBrew (ou MacPort), ou plus simplement utiliser XAMPP ou MAMP, ou encore télécharger le paquet binaire Mac correspondant à chaque élément.
191 61 Etienne Pallier
192 141 Etienne Pallier
*Voici la démarche à suivre sur Linux* :
193 1 Etienne Pallier
194 75 Etienne Pallier
h4. *1) Installation des prérequis*
195 72 Etienne Pallier
196 266 Etienne Pallier
197 268 Etienne Pallier
* *Exemple pour Mac OS 10.13 avec brew (fait en janvier 2018) :*
198 1 Etienne Pallier
Dans le détail : https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
199 315 Etienne Pallier
<pre>
200 314 Etienne Pallier
Install Xcode:
201 314 Etienne Pallier
$ xcode-select --install
202 314 Etienne Pallier
203 1 Etienne Pallier
Install homebrew :
204 314 Etienne Pallier
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
205 316 Etienne Pallier
$ brew --version
206 316 Etienne Pallier
$ brew doctor
207 316 Etienne Pallier
$ brew tap homebrew/php
208 316 Etienne Pallier
$ brew update
209 316 Etienne Pallier
$ brew upgrade
210 316 Etienne Pallier
211 316 Etienne Pallier
Install Apache:
212 316 Etienne Pallier
Stop pre-installed Mac OS Apache:
213 316 Etienne Pallier
$ sudo apachectl stop
214 316 Etienne Pallier
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
215 316 Etienne Pallier
Install brew version:
216 316 Etienne Pallier
$ brew install httpd
217 316 Etienne Pallier
$ sudo brew services start httpd
218 316 Etienne Pallier
Go http://localhost:8080 and check it displays "It Works!"
219 316 Etienne Pallier
$ sudo apachectl -k restart
220 316 Etienne Pallier
$ tail -f /usr/local/var/log/httpd/error_log
221 316 Etienne Pallier
$ sudo apachectl start
222 316 Etienne Pallier
$ sudo apachectl stop
223 316 Etienne Pallier
$ sudo apachectl -k restart
224 316 Etienne Pallier
Edit /usr/local/etc/httpd/httpd.conf :
225 316 Etienne Pallier
- Listen 80 instead of 8080
226 316 Etienne Pallier
- you can change DocumentRoot "/usr/local/var/www" if you want (like DocumentRoot /Users/your_user/Sites, but I did not)
227 316 Etienne Pallier
- <Directory /usr/local/var/www> : AllowOverride All
228 316 Etienne Pallier
- uncomment LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
229 316 Etienne Pallier
- user and group : by default "daemon" (or _www), but you could change to 
230 316 Etienne Pallier
User your_user
231 316 Etienne Pallier
Group staff
232 316 Etienne Pallier
(I did not)
233 316 Etienne Pallier
- ServerName localhost
234 316 Etienne Pallier
$ sudo apachectl -k restart
235 316 Etienne Pallier
Go to http://localhost:80 and check it displays "It Works!"
236 316 Etienne Pallier
237 316 Etienne Pallier
Install PHP (as many versions as you want):
238 316 Etienne Pallier
$ brew install php56 --with-httpd
239 317 Etienne Pallier
$ brew install php56-intl
240 316 Etienne Pallier
$ brew unlink php56
241 316 Etienne Pallier
$ brew install php70 --with-httpd
242 317 Etienne Pallier
$ brew install php70-intl
243 316 Etienne Pallier
$ brew unlink php70
244 316 Etienne Pallier
$ brew install php71 --with-httpd
245 317 Etienne Pallier
$ brew install php71-intl
246 316 Etienne Pallier
$ brew unlink php71
247 316 Etienne Pallier
$ brew install php72 --with-httpd
248 317 Etienne Pallier
$ brew install php72-intl
249 316 Etienne Pallier
Also, you may have the need to tweak configuration settings of PHP to your needs. A common thing to change is the memory setting, or the date.timezone configuration. The php.ini files for each version of PHP are located in the following directories:
250 316 Etienne Pallier
/usr/local/etc/php/5.6/php.ini
251 316 Etienne Pallier
/usr/local/etc/php/7.0/php.ini
252 316 Etienne Pallier
/usr/local/etc/php/7.1/php.ini
253 316 Etienne Pallier
/usr/local/etc/php/7.2/php.ini
254 316 Etienne Pallier
Let's switch back to the first PHP version now:
255 316 Etienne Pallier
$ brew unlink php72
256 316 Etienne Pallier
$ brew link php56
257 316 Etienne Pallier
258 316 Etienne Pallier
Apache PHP Setup:
259 317 Etienne Pallier
Edit /usr/local/etc/httpd/httpd.conf.
260 317 Etienne Pallier
- Modify the paths as follows:
261 317 Etienne Pallier
LoadModule php5_module    /usr/local/opt/php56/libexec/apache2/libphp5.so
262 317 Etienne Pallier
LoadModule php7_module    /usr/local/opt/php70/libexec/apache2/libphp7.so
263 317 Etienne Pallier
LoadModule php7_module    /usr/local/opt/php71/libexec/apache2/libphp7.so
264 317 Etienne Pallier
LoadModule php7_module    /usr/local/opt/php72/libexec/apache2/libphp7.so
265 317 Etienne Pallier
We can only have one module processing PHP at a time, so for now, comment out all but the php56 entry:
266 317 Etienne Pallier
LoadModule php5_module    /usr/local/opt/php56/libexec/apache2/libphp5.so
267 317 Etienne Pallier
#LoadModule php7_module    /usr/local/opt/php70/libexec/apache2/libphp7.so
268 317 Etienne Pallier
#LoadModule php7_module    /usr/local/opt/php71/libexec/apache2/libphp7.so
269 317 Etienne Pallier
#LoadModule php7_module    /usr/local/opt/php72/libexec/apache2/libphp7.so
270 317 Etienne Pallier
- Add these lines :
271 317 Etienne Pallier
<IfModule dir_module>
272 317 Etienne Pallier
    DirectoryIndex index.php index.html
273 317 Etienne Pallier
</IfModule>
274 317 Etienne Pallier
<FilesMatch \.php$>
275 317 Etienne Pallier
    SetHandler application/x-httpd-php
276 317 Etienne Pallier
</FilesMatch>
277 317 Etienne Pallier
$ sudo apachectl -k restart
278 316 Etienne Pallier
279 317 Etienne Pallier
Validating PHP Installation:
280 317 Etienne Pallier
Simply create a file called info.php in your DocumentRoot folder (/usr/local/var/www/ or Sites/). In that file, just enter the line:
281 317 Etienne Pallier
<?php phpinfo();
282 317 Etienne Pallier
Go to http://localhost/info.php
283 316 Etienne Pallier
284 317 Etienne Pallier
PHP Switcher Script:
285 318 Etienne Pallier
We will install the sphp script into brew's standard /usr/local/bin:
286 318 Etienne Pallier
$ curl -L https://gist.github.com/w00fz/142b6b19750ea6979137b963df959d11/raw > /usr/local/bin/sphp
287 318 Etienne Pallier
$ chmod +x /usr/local/bin/sphp
288 318 Etienne Pallier
Check your PATH :
289 318 Etienne Pallier
$ echo $PATH
290 318 Etienne Pallier
should be like : /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
291 318 Etienne Pallier
In ~/.bash_profile :
292 318 Etienne Pallier
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
293 318 Etienne Pallier
At this point, I strongly recommend closing ALL your terminal tabs and windows. This will mean opening a new terminal to continue with the next step.
294 316 Etienne Pallier
295 318 Etienne Pallier
Apache PHP Setup - Part 2:
296 318 Etienne Pallier
Edit /usr/local/etc/httpd/httpd.conf:
297 318 Etienne Pallier
Replace all your LoadModule php* with ONLY this :
298 318 Etienne Pallier
# Brew PHP LoadModule for `sphp` switcher
299 318 Etienne Pallier
LoadModule php5_module /usr/local/lib/libphp5.so
300 318 Etienne Pallier
#LoadModule php7_module /usr/local/lib/libphp7.so
301 316 Etienne Pallier
302 318 Etienne Pallier
$ sphp 70
303 318 Etienne Pallier
should switch to php7 !!!
304 318 Etienne Pallier
Go to http://localhost/info.php to check it is now Php7
305 318 Etienne Pallier
306 318 Etienne Pallier
Updating PHP and other Brew Packages:
307 318 Etienne Pallier
$ brew update
308 318 Etienne Pallier
$ brew upgrade
309 318 Etienne Pallier
You will need to switch to each of your installed PHP versions and run update again to get updates for each PHP version and ensure you are running the version of PHP you intend
310 318 Etienne Pallier
311 318 Etienne Pallier
(Now, details are in https://getgrav.org/blog/macos-sierra-apache-mysql-vhost-apc)
312 318 Etienne Pallier
313 318 Etienne Pallier
MySQL:
314 318 Etienne Pallier
$ brew update
315 318 Etienne Pallier
$ brew install mysql 
316 318 Etienne Pallier
(or "mariadb")
317 318 Etienne Pallier
$ brew services start mariadb
318 318 Etienne Pallier
$ /usr/local/bin/mysql_secure_installation
319 318 Etienne Pallier
(To stop : $ brew services stop mariadb)
320 318 Etienne Pallier
321 318 Etienne Pallier
Apache Virtual Hosts:
322 318 Etienne Pallier
Edit httpd.conf:
323 318 Etienne Pallier
LoadModule vhost_alias_module lib/httpd/modules/mod_vhost_alias.so
324 318 Etienne Pallier
# Virtual hosts
325 318 Etienne Pallier
Include /usr/local/etc/httpd/extra/httpd-vhosts.conf
326 318 Etienne Pallier
Edit /usr/local/etc/httpd/extra/httpd-vhosts.conf:
327 318 Etienne Pallier
<VirtualHost *:80>
328 319 Etienne Pallier
    #DocumentRoot "/Users/your_user/Sites"
329 319 Etienne Pallier
    DocumentRoot "/usr/local/var/www"
330 318 Etienne Pallier
    ServerName localhost
331 318 Etienne Pallier
</VirtualHost>
332 318 Etienne Pallier
<VirtualHost *:80>
333 318 Etienne Pallier
    DocumentRoot "/Users/your_user/Sites/grav-admin"
334 318 Etienne Pallier
    ServerName grav-admin.test
335 318 Etienne Pallier
</VirtualHost>
336 1 Etienne Pallier
(We used to recommend using .dev domain name, but since Chrome 63 forces all .dev domains to use SSL, this guide has been updated to use .test)
337 319 Etienne Pallier
Listen 8082
338 319 Etienne Pallier
#NameVirtualHost *:8082
339 319 Etienne Pallier
<VirtualHost *:8082>
340 319 Etienne Pallier
<Directory /PROJECTS/LABINVENT/SOURCE/labinvent2>
341 319 Etienne Pallier
    #Options Indexes FollowSymLinks ExecCGI Includes
342 319 Etienne Pallier
    Options FollowSymLinks
343 319 Etienne Pallier
    AllowOverride All
344 319 Etienne Pallier
    Require all granted
345 319 Etienne Pallier
</Directory>
346 319 Etienne Pallier
        #ServerName labinvent
347 319 Etienne Pallier
        #ServerAlias labinvent
348 319 Etienne Pallier
        ServerAdmin epallier@irap.omp.eu
349 319 Etienne Pallier
        DocumentRoot "/PROJECTS/LABINVENT/SOURCE/labinvent2"
350 319 Etienne Pallier
        #DocumentRoot "/Users/epallier/MYPROJECTS/LABINVENT/SOURCE/WITH_LAST_CAKEPHP_2/cakephp/app/webroot"
351 319 Etienne Pallier
        #DocumentRoot "/Users/epallier/projects/LABINVENT/SOURCE/WITH_LAST_CAKEPHP_2/cakephp/app/webroot"
352 319 Etienne Pallier
        #DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/labinvent2015/cakephp/app/webroot"
353 319 Etienne Pallier
        #DocumentRoot "/Users/epallier/ECLIPSE_WORKSPACES/workspace_php/labinvent2015/cakephp/app/webroot"
354 319 Etienne Pallier
        # logs are relative to <ServerRoot> :
355 319 Etienne Pallier
        ErrorLog logs/labinvent2.error_log
356 319 Etienne Pallier
        CustomLog logs/labinvent2.access_log combined
357 319 Etienne Pallier
</VirtualHost>
358 318 Etienne Pallier
359 318 Etienne Pallier
360 318 Etienne Pallier
Xdebug:
361 318 Etienne Pallier
sphp 56
362 318 Etienne Pallier
brew install php56-xdebug --build-from-source
363 318 Etienne Pallier
sphp 70
364 318 Etienne Pallier
brew install php70-xdebug --build-from-source
365 318 Etienne Pallier
sphp 72
366 318 Etienne Pallier
brew install php72-xdebug --build-from-source
367 318 Etienne Pallier
Go to http://localhost/info.php to check xdebug
368 317 Etienne Pallier
369 315 Etienne Pallier
</pre>
370 317 Etienne Pallier
371 266 Etienne Pallier
372 266 Etienne Pallier
373 268 Etienne Pallier
* *Exemple pour ScientificLinux (CentOS) 6.4 (fait en juillet 2017) :*
374 248 Etienne Pallier
375 248 Etienne Pallier
    Pour mettre à jour PHP de la 5.6 à la 7.1 : 
376 248 Etienne Pallier
    --> https://blog.remirepo.net/post/2016/12/05/Install-PHP-7.1-on-CentOS-RHEL-or-Fedora
377 248 Etienne Pallier
<pre>
378 249 Etienne Pallier
$ sudo yum update kernel
379 249 Etienne Pallier
$ sudo yum update
380 249 Etienne Pallier
381 248 Etienne Pallier
$ sudo yum install yum-utils
382 248 Etienne Pallier
$ sudo yum-config-manager --enable remi-php71
383 248 Etienne Pallier
$ sudo yum update
384 248 Etienne Pallier
=> mais il y a un conflit à cause de phpmyadmin, donc je supprime ce package :
385 248 Etienne Pallier
$ sudo yum erase phpmyadmin
386 248 Etienne Pallier
$ sudo yum update
387 248 Etienne Pallier
388 248 Etienne Pallier
$ php -v => 7.1
389 248 Etienne Pallier
390 248 Etienne Pallier
Redémarrage Apache:
391 248 Etienne Pallier
$ sudo /etc/init.d/httpd restart
392 249 Etienne Pallier
393 249 Etienne Pallier
Tentative de réinstaller phpmyadmin
394 249 Etienne Pallier
$ sudo yum install phpmyadmin
395 249 Etienne Pallier
=> toujours un conflit, je laisse tomber, dommage...
396 251 Etienne Pallier
397 251 Etienne Pallier
Tentative d'accelerer php 7:
398 253 Etienne Pallier
(https://community.1and1.com/php-7)
399 1 Etienne Pallier
$ sudo yum install php71-php-opcache
400 253 Etienne Pallier
Creer un repertoire .opcache/ dans le webroot/ du projet:
401 253 Etienne Pallier
$ cd webroot/
402 253 Etienne Pallier
$ mkdir .opcache/
403 253 Etienne Pallier
$ chmod 777 .opcache/
404 253 Etienne Pallier
405 253 Etienne Pallier
Modifier php.ini :
406 253 Etienne Pallier
$ sudo vi /etc/php.ini
407 253 Etienne Pallier
Ajout des lignes suivantes :
408 253 Etienne Pallier
; EP added this for opcache (Jul 2017):
409 253 Etienne Pallier
zend_extension=opcache.so;
410 253 Etienne Pallier
opcache.enable=1;opcache.memory_consumption=32;
411 253 Etienne Pallier
opcache.interned_strings_buffer=8;
412 253 Etienne Pallier
opcache.max_accelerated_files=3000;
413 253 Etienne Pallier
opcache.revalidate_freq=180;
414 253 Etienne Pallier
opcache.fast_shutdown=0;
415 253 Etienne Pallier
opcache.enable_cli=0;
416 253 Etienne Pallier
opcache.revalidate_path=0;
417 253 Etienne Pallier
opcache.validate_timestamps=2;
418 253 Etienne Pallier
opcache.max_file_size=0;
419 253 Etienne Pallier
opcache.file_cache=/projects/labinvent/labinvent2/webroot/.opcache;
420 253 Etienne Pallier
opcache.file_cache_only=1;
421 253 Etienne Pallier
422 253 Etienne Pallier
Faire un lien vers l'extension opcache.so
423 253 Etienne Pallier
$ cd /usr/lib64/php/modules/
424 253 Etienne Pallier
$ sudo ln -s /opt/remi/php71/root/usr/lib64/php/modules/opcache.so
425 253 Etienne Pallier
426 253 Etienne Pallier
Verifier que .opcache/ contient bien des données (du cache)
427 253 Etienne Pallier
428 253 Etienne Pallier
Mais je ne vois pas vraiment d'accélération...
429 248 Etienne Pallier
</pre>
430 248 Etienne Pallier
    
431 248 Etienne Pallier
432 248 Etienne Pallier
433 268 Etienne Pallier
* *Exemple pour Cent OS 6.7 (fait en 2016) :*
434 35 Alexandre Cases
435 130 Thibaud Ajas
    Mettre à jour le serveur:
436 130 Thibaud Ajas
<pre>
437 1 Etienne Pallier
$ sudo yum kernel
438 1 Etienne Pallier
(restart)
439 1 Etienne Pallier
$ sudo yum update
440 130 Thibaud Ajas
</pre>
441 1 Etienne Pallier
442 130 Thibaud Ajas
    Pour installer Apache, MySQL & PHP 5.3 :
443 130 Thibaud Ajas
    --> https://www.zerostopbits.com/how-to-install-apache-mysql-and-php-on-centos-6-7/
444 35 Alexandre Cases
445 130 Thibaud Ajas
    Pour mettre à jour PHP de la 5.3 à la 5.6
446 130 Thibaud Ajas
    --> https://www.zerostopbits.com/how-to-upgrade-php-5-3-to-php-5-6-on-centos-6-7/
447 1 Etienne Pallier
448 130 Thibaud Ajas
    Mettre à jour Mysql (version 5.1 à 5.5):
449 130 Thibaud Ajas
<pre>
450 71 Etienne Pallier
$ sudo yum update
451 1 Etienne Pallier
</pre>
452 1 Etienne Pallier
453 70 Etienne Pallier
454 268 Etienne Pallier
* *Exemple pour une distribution UBuntu 14.04.4 (fait en 2016) et 14.04.5 (Mai 2017) :*
455 1 Etienne Pallier
456 243 Etienne Pallier
%{color:red;} /!\ Par défaut, la version de php installée ici est php5.5 qui ne suffit plus. Si vous souhaitez installer la version 5.6, remplacez TOUS les "php5" par "php5.6", et si vous voulez la version 7.1, remplacez TOUS les "php5" par "php7.1" /!\%
457 1 Etienne Pallier
458 129 Thibaud Ajas
    Pour commencer il faut mettre à jour les "repository" de apt :
459 129 Thibaud Ajas
<pre>
460 1 Etienne Pallier
$ sudo apt-get update && sudo apt-get upgrade
461 129 Thibaud Ajas
</pre>
462 1 Etienne Pallier
463 129 Thibaud Ajas
    Installer un serveur web (Apache) :
464 129 Thibaud Ajas
<pre>
465 72 Etienne Pallier
$ sudo apt-get install apache2
466 129 Thibaud Ajas
</pre>
467 1 Etienne Pallier
468 129 Thibaud Ajas
    Installer un serveur de base de données (MySQL):
469 1 Etienne Pallier
<pre>
470 1 Etienne Pallier
$ sudo apt-get install mysql-server 
471 1 Etienne Pallier
</pre>
472 72 Etienne Pallier
473 129 Thibaud Ajas
    Installer le langage PHP en version 5.5.9 minimum (5.6 recommandé)
474 129 Thibaud Ajas
<pre>
475 1 Etienne Pallier
$ sudo apt-get install php5 php-pear
476 63 Etienne Pallier
$ sudo apt-get install php5-mysql
477 1 Etienne Pallier
</pre>
478 119 Etienne Pallier
479 173 Thibaud Ajas
    Installer phpmyadmin et le configurer
480 173 Thibaud Ajas
<pre>
481 173 Thibaud Ajas
$ sudo apt-get install phpmyadmin
482 177 Thibaud Ajas
$ sudo dpkg-reconfigure -plow phpmyadmin
483 173 Thibaud Ajas
</pre>
484 173 Thibaud Ajas
/!\ Lorsque vous aurez l'écran suivant, n'oubliez pas d'appuyer sur la touche "espace" avant la touche "entrée" /!\
485 173 Thibaud Ajas
486 173 Thibaud Ajas
!https://i.stack.imgur.com/Q9qYW.png!
487 173 Thibaud Ajas
488 173 Thibaud Ajas
Afin d'avoir cela :
489 173 Thibaud Ajas
490 173 Thibaud Ajas
!https://i.stack.imgur.com/VIh0U.png!
491 173 Thibaud Ajas
492 175 Thibaud Ajas
Si, en visitant http://localhost/phpmyadmin/ vous avez l'erreur "The mcrypt extension is missing. Please check your PHP configuration.", executez les commades suivantes :
493 175 Thibaud Ajas
<pre>
494 175 Thibaud Ajas
$ sudo apt-get install php5-mcrypt
495 175 Thibaud Ajas
$ sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
496 175 Thibaud Ajas
$ sudo php5enmod mcrypt 
497 175 Thibaud Ajas
$ sudo service apache2 restart
498 175 Thibaud Ajas
</pre>
499 175 Thibaud Ajas
500 268 Etienne Pallier
* *Exemple pour une distribution Fedora 20+ (fait en avril 2017) :*
501 114 Etienne Pallier
502 130 Thibaud Ajas
    https://www.digitalocean.com/community/tutorials/how-to-install-lamp-linux-apache-mysql-php-on-fedora
503 1 Etienne Pallier
504 130 Thibaud Ajas
    Pour commencer il faut mettre à jour l'OS :
505 129 Thibaud Ajas
<pre>
506 114 Etienne Pallier
$ sudo dnf update dnf
507 1 Etienne Pallier
$ sudo dnf update kernel
508 1 Etienne Pallier
$ sudo dnf update
509 129 Thibaud Ajas
</pre>
510 115 Etienne Pallier
511 130 Thibaud Ajas
    Installer git:
512 129 Thibaud Ajas
<pre>
513 115 Etienne Pallier
$ sudo dnf install git
514 1 Etienne Pallier
</pre>
515 115 Etienne Pallier
516 130 Thibaud Ajas
    Installer php :
517 129 Thibaud Ajas
<pre>
518 115 Etienne Pallier
$ sudo dnf install php
519 1 Etienne Pallier
$ sudo dnf install php-mysql
520 129 Thibaud Ajas
</pre>
521 115 Etienne Pallier
522 130 Thibaud Ajas
    Installer un serveur web (Apache) :
523 129 Thibaud Ajas
<pre>
524 115 Etienne Pallier
$ sudo dnf install httpd
525 116 Etienne Pallier
$ sudo systemctl enable httpd
526 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service')
527 116 Etienne Pallier
$ sudo systemctl start httpd
528 129 Thibaud Ajas
</pre>
529 1 Etienne Pallier
530 130 Thibaud Ajas
    Installer un serveur de base de données (MySQL):
531 129 Thibaud Ajas
<pre>
532 115 Etienne Pallier
$ sudo dnf install mariadb mariadb-server -y
533 116 Etienne Pallier
$ sudo systemctl enable mariadb
534 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service')
535 115 Etienne Pallier
$ sudo systemctl start mariadb
536 118 Etienne Pallier
$ sudo mysql_secure_installation
537 129 Thibaud Ajas
</pre>
538 118 Etienne Pallier
539 158 Etienne Pallier
    (OPTIONNEL) Installer phpmyadmin (par defaut accessible uniquement depuis localhost), utile pour gérer plus facilement la BD :
540 129 Thibaud Ajas
<pre>
541 118 Etienne Pallier
$ sudo dnf install phpmyadmin
542 1 Etienne Pallier
$ sudo systemctl restart httpd
543 158 Etienne Pallier
544 158 Etienne Pallier
Pour Ubuntu:
545 158 Etienne Pallier
sudo apt-get php5-mcrypt
546 158 Etienne Pallier
sudo apt-get install phpmyadmin
547 158 Etienne Pallier
Pensez à activer l'extension mcrypt : sudo php5enmod mcrypt
548 158 Etienne Pallier
</pre>
549 158 Etienne Pallier
550 114 Etienne Pallier
</pre>
551 114 Etienne Pallier
552 75 Etienne Pallier
h4. *2) Configuration des prérequis*
553 1 Etienne Pallier
554 76 Etienne Pallier
555 143 Etienne Pallier
556 63 Etienne Pallier
557 264 Etienne Pallier
* *+Configuration de Php+*
558 226 Etienne Pallier
Pour savoir où est le fichier php.ini:
559 226 Etienne Pallier
php -r "print phpinfo();" | grep ".ini"
560 226 Etienne Pallier
(sur XAMPP, c'est dans /Applications/XAMPP/xamppfiles/etc/php.ini)
561 1 Etienne Pallier
562 145 Etienne Pallier
 * *Extension PHP "intl"*:
563 145 Etienne Pallier
Vérifier qu'elle est activée dans le php.ini:
564 1 Etienne Pallier
<pre>
565 80 Etienne Pallier
php --ini|grep intl
566 80 Etienne Pallier
Sinon, l'ajouter dans le php.ini:
567 1 Etienne Pallier
extension=intl.so
568 1 Etienne Pallier
</pre>
569 1 Etienne Pallier
Vérifier qu'elle est bien installée :
570 1 Etienne Pallier
<pre>
571 1 Etienne Pallier
$ php -m| grep intl
572 1 Etienne Pallier
(ça devrait retourner "intl")
573 1 Etienne Pallier
574 1 Etienne Pallier
Sinon, l'installer:
575 1 Etienne Pallier
576 1 Etienne Pallier
Ubuntu:
577 1 Etienne Pallier
$ sudo apt-get install php5-intl
578 1 Etienne Pallier
579 1 Etienne Pallier
CentOS:
580 1 Etienne Pallier
$ sudo yum install php-intl
581 1 Etienne Pallier
582 273 Etienne Pallier
MacOS avec brew:
583 275 Etienne Pallier
Installer l'extension 
584 273 Etienne Pallier
Les extensions sont recherchées dans /usr/local/Cellar/php72/7.2.0_11/lib/php/
585 273 Etienne Pallier
$ brew install php72-intl
586 1 Etienne Pallier
Fichier créé /usr/local/etc/php/7.2/conf.d/ext-intl.ini donne chemin de l'extension : /usr/local/opt/php72-intl/intl.so
587 274 Etienne Pallier
(Pour info, le fichier php.ini est dans /usr/local/etc/php/7.2/php.ini, mais c'est inutile de le modifier)
588 273 Etienne Pallier
589 273 Etienne Pallier
590 1 Etienne Pallier
MacOS avec XAMPP: 
591 1 Etienne Pallier
cf http://stackoverflow.com/questions/27886117/php-intl-installation-on-xampp
592 1 Etienne Pallier
Il se pourrait que vous ayez besoin de ré-exécuter l'installeur de XAMPP afin de cocher l'option "XAMPP Developer Files", si vous ne l'aviez pas déjà fait lors de votre installation de XAMPP
593 1 Etienne Pallier
cd /Applications/XAMPP/bin
594 1 Etienne Pallier
sudo ./pecl install intl
595 1 Etienne Pallier
(Vérifier qu'elle a bien été installée dans /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/)
596 1 Etienne Pallier
Attention, cette méthode semble ne plus fonctionner avec XAMPP 7 (qui inclut php 7).
597 1 Etienne Pallier
Sur Mac, j'ai dû installer l'extension intl via macport :
598 1 Etienne Pallier
sudo port install php71-intl
599 1 Etienne Pallier
Puis copie de cette extension dans le dossier de XAMPP :
600 1 Etienne Pallier
sudo cp /opt/local/lib/php71/extensions/no-debug-non-zts-20160303/intl.so XAMPP_716-0/xamppfiles/lib/php/extensions/no-debug-non-zts-20160303/
601 1 Etienne Pallier
Redémarrer Apache
602 1 Etienne Pallier
</pre>
603 273 Etienne Pallier
604 273 Etienne Pallier
605 1 Etienne Pallier
606 1 Etienne Pallier
 * *Dossier de log (optionnel)*:
607 1 Etienne Pallier
Dans le fichier /etc/php5/apache2/php.ini (ou /etc/php.ini sur CentOS), vous devez positionner votre répertoire de log :
608 1 Etienne Pallier
<pre>
609 1 Etienne Pallier
error_reporting = E_ALL
610 1 Etienne Pallier
error_log = /var/log/php/error.log
611 1 Etienne Pallier
max_input_time = 30
612 1 Etienne Pallier
</pre>
613 1 Etienne Pallier
Ensuite il vous faudra peut-être créer le dossier en question et donner à Apache les droits sur ce dossier (www-data pour Ubuntu, apache pour CentOS...):
614 1 Etienne Pallier
<pre>
615 1 Etienne Pallier
sudo mkdir /var/log/php
616 1 Etienne Pallier
sudo chown www-data /var/log/php
617 1 Etienne Pallier
</pre>
618 269 Etienne Pallier
619 271 Etienne Pallier
 * *Recharger la configuration du serveur Web*
620 270 Etienne Pallier
<pre>
621 270 Etienne Pallier
$ sudo service httpd reload
622 270 Etienne Pallier
(CentOS: $ sudo systemctl reload httpd)
623 276 Etienne Pallier
(MacOS: $ sudo apachectl restart)
624 270 Etienne Pallier
</pre>
625 269 Etienne Pallier
626 269 Etienne Pallier
627 1 Etienne Pallier
628 272 Etienne Pallier
* *OPTIONNEL - +Configuration du serveur web+ (Apache)*
629 270 Etienne Pallier
630 269 Etienne Pallier
Ces configurations sont nécessaires sur Ubuntu, mais pas forcément sur CentOS/Fedora :
631 269 Etienne Pallier
632 269 Etienne Pallier
 * KeepAlive:
633 269 Etienne Pallier
Editer le fichier de configuration du serveur web (/etc/apache2/apache2.conf sur Ubuntu, /etc/httpd/conf/http.conf sur CentOS/Fedora) et mettre le paramêtre "KeepAlive" à "Off" :
634 269 Etienne Pallier
<pre>
635 269 Etienne Pallier
KeepAlive Off
636 269 Etienne Pallier
</pre>
637 269 Etienne Pallier
638 269 Etienne Pallier
 * event et prefork modules:
639 269 Etienne Pallier
Par défaut Apache utilise un "event module" et PHP un "prefork module".
640 269 Etienne Pallier
Il faut désactiver le 1er module et activer le second :
641 269 Etienne Pallier
<pre>
642 269 Etienne Pallier
sudo a2dismod mpm_event
643 269 Etienne Pallier
sudo a2enmod mpm_prefork
644 269 Etienne Pallier
</pre>
645 269 Etienne Pallier
646 269 Etienne Pallier
 * Activer le mode rewrite de Apache:
647 269 Etienne Pallier
<pre>
648 269 Etienne Pallier
sudo a2enmod rewrite
649 269 Etienne Pallier
</pre>
650 269 Etienne Pallier
651 269 Etienne Pallier
 * Autoriser les fichiers .htaccess sur le site :
652 269 Etienne Pallier
(cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting)
653 269 Etienne Pallier
Allez dans le fichier /etc/apache2/apache2.conf (ou httpd.conf sur CentOS), vérifier que la propriété 'AllowOverride' soit à la valeur 'All' pour le dossier Labinvent : 
654 269 Etienne Pallier
<pre>
655 269 Etienne Pallier
<Directory /var/www/html/labinvent>
656 269 Etienne Pallier
  Options FollowSymLinks
657 269 Etienne Pallier
  AllowOverride All
658 269 Etienne Pallier
</Directory>
659 269 Etienne Pallier
</pre>
660 269 Etienne Pallier
NB : Si Labinvent n'est pas dans le repertoire des sites webs :
661 269 Etienne Pallier
- faire un lien dans le dossier web racine de Apache (/var/www/html/) vers le repertoire d'installation de Labinvent
662 269 Etienne Pallier
- sinon, vous pouvez tenter de mettre son chemin absolu :
663 269 Etienne Pallier
<pre>
664 269 Etienne Pallier
<Directory /chemin/abosolu/vers/labinvent>
665 269 Etienne Pallier
</pre>
666 269 Etienne Pallier
NB: Une autre solution plus "propre" consisterait à créer un virtual host dédié pour Labinvent, sur un port 808x (8081, 8082, ...)
667 269 Etienne Pallier
(TODO: mettre ici un exemple de config)
668 1 Etienne Pallier
669 271 Etienne Pallier
 * *Recharger la configuration du serveur Web*
670 83 Etienne Pallier
<pre>
671 82 Etienne Pallier
$ sudo service httpd reload
672 146 Etienne Pallier
(CentOS: $ sudo systemctl reload httpd)
673 276 Etienne Pallier
(MacOS: $ sudo apachectl restart)
674 83 Etienne Pallier
</pre>
675 82 Etienne Pallier
676 149 Etienne Pallier
h3. B/ Installation du logiciel LabInvent
677 1 Etienne Pallier
678 150 Etienne Pallier
<pre>
679 26 Etienne Pallier
cd install/
680 26 Etienne Pallier
./installation.sh
681 150 Etienne Pallier
</pre>
682 150 Etienne Pallier
683 265 Etienne Pallier
Attention: sur Mac, utiliser installation-macos.sh au lieu de installation.sh
684 265 Etienne Pallier
685 1 Etienne Pallier
(vous pourriez éventuellement le faire en tant qu'administrateur "root", mais ça n'est pas nécessaire, le script fera quelques petits "sudo" seulement au besoin).
686 1 Etienne Pallier
(Conseil : à la plupart des questions, laissez les réponses par défaut)
687 23 Etienne Pallier
688 96 Etienne Pallier
---
689 96 Etienne Pallier
690 161 Etienne Pallier
---
691 1 Etienne Pallier
692 161 Etienne Pallier
h3. C/ TESTS
693 161 Etienne Pallier
694 282 Etienne Pallier
* Verifiez que la BD d'inventaire (par défaut "labinvent" sauf si vous lui avez donné un autre nom) à bien été créée (avec phpmyadmin par exemple).
695 161 Etienne Pallier
696 219 Etienne Pallier
* Verifiez que les tests passent :
697 283 Etienne Pallier
placez-vous à la racine du projet, exécutez la commande ./TESTS.sh
698 283 Etienne Pallier
(équivalent à 'vendor/bin/phpunit' ; si ça ne marche pas, essayez 'vendor/phpunit/phpunit/phpunit')
699 284 Etienne Pallier
(Php7 utilise Phpunit 6 alors que Php 5 utilise Phpunit PHPUnit 5.7)
700 219 Etienne Pallier
701 244 Etienne Pallier
* Performance :
702 244 Etienne Pallier
703 277 Etienne Pallier
 * Sur Mac OS 10.13 avec brew :
704 277 Etienne Pallier
705 287 Etienne Pallier
  * Avec php5.6, les 94 tests s'exécutent en 55 secondes
706 287 Etienne Pallier
  * Avec php7.2, les 94 tests s'exécutent en 49 secondes
707 277 Etienne Pallier
708 277 Etienne Pallier
 * Sur Mac OS 10.12 avec XAMPP :
709 245 Etienne Pallier
710 245 Etienne Pallier
  * En php5.6, les 53 tests s'exécutent en 25-26 secondes
711 247 Etienne Pallier
  * En php7.1, les 53 tests s'exécutent en 9-10 secondes, soit 2 à 3 fois plus vite !!! (vive Php 7)
712 245 Etienne Pallier
713 255 Etienne Pallier
 * Sur ScientificLinux (CentOS) 6.4 (serveur de test pweb) :
714 245 Etienne Pallier
715 245 Etienne Pallier
  * En php5.6, les 53 tests s'exécutent en 20 secondes
716 252 Etienne Pallier
  * En php7.1, les 53 tests s'exécutent en 16-17 secondes, soit pas beaucoup plus rapide, bizarre...
717 254 Etienne Pallier
718 254 Etienne Pallier
 * Sur CentOS 6.4 (serveur de production), dans une VM :
719 254 Etienne Pallier
  * En php5.6 avec phpunit 5.7, les 53 tests s'exécutent en 47 secondes !!!
720 254 Etienne Pallier
  * En php7.1, les 53 tests s'exécutent en ??? (Php7, c'est pour très bientôt...)
721 244 Etienne Pallier
 
722 219 Etienne Pallier
723 219 Etienne Pallier
PS : Pour n'exécuter que certains tests :
724 219 Etienne Pallier
725 1 Etienne Pallier
<pre>
726 222 Etienne Pallier
Marquer le(s) test voulu avec une annotation :
727 219 Etienne Pallier
/**
728 219 Etienne Pallier
 * @group failing
729 219 Etienne Pallier
 * Tests the api edit form
730 219 Etienne Pallier
 */
731 1 Etienne Pallier
public function testEditAction()
732 219 Etienne Pallier
733 222 Etienne Pallier
Ensuite, exécuter avec : phpunit --group failing
734 219 Etienne Pallier
735 219 Etienne Pallier
Attention, ne pas oublier d'enlever ces annotations avant le commit !
736 219 Etienne Pallier
737 219 Etienne Pallier
On peut attribuer plusieurs groupes à un test :
738 219 Etienne Pallier
/**
739 219 Etienne Pallier
  * @group failing
740 219 Etienne Pallier
  * @group bug2204 
741 219 Etienne Pallier
  */
742 1 Etienne Pallier
public function testSomethingElse()
743 221 Etienne Pallier
</pre>
744 161 Etienne Pallier
745 161 Etienne Pallier
746 161 Etienne Pallier
---
747 161 Etienne Pallier
748 324 Etienne Pallier
h3. D/ ACCES A L'APPLICATION WEB
749 1 Etienne Pallier
750 325 Etienne Pallier
Où placer le dossier "labinvent" ?
751 324 Etienne Pallier
752 324 Etienne Pallier
En admettant que l'application soit installée localement sur votre pc ou serveur, il y a 3 moyens d'accéder (localement) au site web de l'application LabInvent :
753 324 Etienne Pallier
754 324 Etienne Pallier
* (1) Soit classiquement via "http://localhost/labinvent"
755 324 Etienne Pallier
756 324 Etienne Pallier
* (2) Soit via un port dédié tel que par exemple "http://localhost:8081"
757 324 Etienne Pallier
758 324 Etienne Pallier
* (3) Soit via un nom de serveur dédié tel que par exemple "http://labinvent.test"
759 324 Etienne Pallier
760 324 Etienne Pallier
Voici comment faire dans chacun de ces 3 cas :
761 324 Etienne Pallier
762 1 Etienne Pallier
* (1) :
763 325 Etienne Pallier
764 325 Etienne Pallier
 * soit vous déplacez le dossier "labinvent/" directement dans le repertoire des sites webs du serveur web local (DocumentRoot, par exemple /var/www/html/ ou /var/www/html/localhost/public_html/, ...)
765 325 Etienne Pallier
 * soit vous laissez ce dossier là où il est et :
766 324 Etienne Pallier
  - vous faites un lien depuis votre DocumentRoot (/var/www/html/ ou autre) vers ce dossier labinvent/
767 324 Etienne Pallier
  - ou bien vous indiquez au serveur web où le trouver via une directive dans le fichier de configuration du serveur web httpd.conf :
768 324 Etienne Pallier
<pre>
769 324 Etienne Pallier
Alias /labinvent /Users/epallier/Documents/_W_more/PROJECTS/LABINVENT/SOURCE/labinvent2
770 324 Etienne Pallier
<Directory /Users/epallier/Documents/_W_more/PROJECTS/LABINVENT/SOURCE/labinvent2/>
771 324 Etienne Pallier
    Options FollowSymLinks
772 324 Etienne Pallier
    AllowOverride All
773 324 Etienne Pallier
    Require all granted
774 1 Etienne Pallier
</Directory>
775 324 Etienne Pallier
</pre>
776 324 Etienne Pallier
777 324 Etienne Pallier
778 325 Etienne Pallier
* (2) et (3) : utiliser un Virtual Host
779 324 Etienne Pallier
780 324 Etienne Pallier
781 322 Etienne Pallier
782 322 Etienne Pallier
h3. E/ CONFIGURATION DU SITE WEB
783 161 Etienne Pallier
784 121 Thibaud Ajas
Le site est maintenant installé, il vous faut maintenant le configurer.
785 281 Etienne Pallier
Si vous voulez le conserver, le script de creation de la BD est database/build.sql (s'il existait déjà avant votre installation, il a été sauvegardé dans build.sql.ORIG).
786 278 Etienne Pallier
Votre fichier de configuration est config/app.php (s'il existait déjà avant votre installation, il a été sauvegardé dans app.php.ORIG).
787 121 Thibaud Ajas
788 290 Etienne Pallier
* Tester l'accès web à l'application : http://localhost/labinvent (ou bien http://localhost:8081 si vous avez créé un virtual host sur le port 8081 pour labinvent)
789 98 Etienne Pallier
Vous devriez arriver par défaut sur une page correspondant au mode install, elle vous indique la bonne configuration de l'application et de ses dépendances.
790 280 Etienne Pallier
Vérifier simplement que TOUS LES POINTS SONT AU VERT.
791 98 Etienne Pallier
(La page affichera un message si l'URL-Rewriting ne fonctionne pas correctement).
792 98 Etienne Pallier
Si tout est au vert, passez à l'étape suivante (D/ Configuration de l'application).
793 280 Etienne Pallier
Sinon (il y a des points rouges), reportez-vous ci-dessous à l'extension qui pose problème, pour l'installer ou la configurer:
794 1 Etienne Pallier
795 89 Etienne Pallier
* Extension PHP "mbstring" et librairie "zlib"
796 90 Etienne Pallier
La collection de librairies est normalement déja installée avec PHP en tant que dépendance, sinon faire :
797 90 Etienne Pallier
<pre>
798 90 Etienne Pallier
sudo apt-get install libapache2-mod-php5
799 90 Etienne Pallier
</pre>
800 6 Alexandre Cases
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
801 6 Alexandre Cases
802 90 Etienne Pallier
* Librairie PHP "php-gd" 
803 90 Etienne Pallier
<pre>
804 90 Etienne Pallier
sudo apt-get install php5-gd
805 90 Etienne Pallier
</pre>
806 1 Etienne Pallier
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
807 1 Etienne Pallier
Si ce n'est toujours pas le cas, aller dans le fichier /etc/php5/apache2/php.ini :
808 6 Alexandre Cases
Vérifier que la ligne suivante est présente et décommentée (absence de ";" devant la ligne) sinon il faut la rajouter : 
809 6 Alexandre Cases
<pre>
810 6 Alexandre Cases
extension=gd.so
811 90 Etienne Pallier
</pre>
812 1 Etienne Pallier
813 1 Etienne Pallier
* URL-Rewriting
814 1 Etienne Pallier
Il est possible que le mode rewrite ne fonctionne pas correctement si les fichiers .htaccess dans la racine et dans webroot disparaissent. Sur certains systèmes les fichiers commençant par un point peuvent disparaitre lors d'une copie. Si c'est le cas pour vous, voici le contenu de ces deux fichiers et leurs emplacements : 
815 1 Etienne Pallier
<pre>
816 7 Alexandre Cases
Fichier ./.htaccess : 
817 1 Etienne Pallier
<IfModule mod_rewrite.c>
818 1 Etienne Pallier
    RewriteEngine on
819 1 Etienne Pallier
    RewriteRule    ^$    webroot/    [L]
820 1 Etienne Pallier
    RewriteRule    (.*) webroot/$1    [L]
821 1 Etienne Pallier
</IfModule>
822 1 Etienne Pallier
823 1 Etienne Pallier
Fichier ./webroot/.htaccess : 
824 1 Etienne Pallier
<IfModule mod_rewrite.c>
825 1 Etienne Pallier
    RewriteEngine On
826 1 Etienne Pallier
    RewriteCond %{REQUEST_FILENAME} !-f
827 1 Etienne Pallier
    RewriteRule ^ index.php [L]
828 27 Etienne Pallier
</IfModule>
829 280 Etienne Pallier
</pre>
830 280 Etienne Pallier
831 280 Etienne Pallier
* Une fois que tout est au vert, redémarrer votre serveur Web et vérifier que la ligne correspondant à l'extension manquante soit passée au vert.
832 280 Etienne Pallier
<pre>
833 280 Etienne Pallier
sudo service apache2 restart
834 280 Etienne Pallier
(ou simplement le recharger: utiliser "reload" au lieu de "restart")
835 32 Etienne Pallier
</pre>
836 94 Etienne Pallier
837 1 Etienne Pallier
838 95 Etienne Pallier
---
839 95 Etienne Pallier
840 323 Etienne Pallier
h3. F/ CONFIGURATION DU LOGICIEL D'INVENTAIRE
841 94 Etienne Pallier
842 291 Etienne Pallier
* Si vous n'y êtes pas déjà, allez sur la page d'accueil de LabInvent : http://localhost/labinvent (ou bien http://localhost:8081 si vous avez créé un virtual host sur le port 8081 pour labinvent)
843 291 Etienne Pallier
844 297 Etienne Pallier
* Depuis la page web de configuration "Configurer votre Labinvent", cliquez sur le lien "Editer la configuration générale" (en bas à gauche) pour configurer le logiciel, configurez selon vos besoins. ATTENTION, N'ACTIVEZ PAS LE MODE LDAP POUR LE MOMENT, on le fera plus tard.
845 300 Etienne Pallier
Cliquez sur "Valider"
846 289 Etienne Pallier
847 289 Etienne Pallier
* Maintenant, sortez du mode "installation" en cliquant sur le bouton "Stopper le mode installation"
848 292 Etienne Pallier
_Si vous voulez revenir au mode "installation", allez dans le dossier database/ et exécutez simplement ./mode_panique.sh (./mode_panique_macos.sh sur Mac OS) puis revenez sur la page d'accueil_
849 1 Etienne Pallier
850 293 Etienne Pallier
* Désactivez (manuellement) le mode DEBUG général (différent de celui proposé dans la configuration ci-dessus) :
851 294 Etienne Pallier
Allez à la racine du projet, et ouvrez votre fichier de configuration générale de labinvent (config/app.php)
852 34 Alexandre Cases
<pre>
853 294 Etienne Pallier
Allez environ à la ligne 12 (au début du fichier):
854 1 Etienne Pallier
'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),
855 1 Etienne Pallier
856 293 Etienne Pallier
Et remplacez le true par false, comme ceci :
857 11 Alexandre Cases
'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
858 11 Alexandre Cases
</pre>
859 1 Etienne Pallier
860 296 Etienne Pallier
* Connectez-vous à l'aide du login utilisateur créé lors de l'installation (par défaut "superadmin"), avec le mot de passe "login".
861 298 Etienne Pallier
Il vous permet de vous connecter en tant que "super administrateur" pour pouvoir configurer l'application.
862 298 Etienne Pallier
Vérifiez que c'est bien le cas : sur la page d'accueil, vous devriez avoir une ligne qui affiche "Vous êtes connecté en tant que Nom Prénom et avec le niveau d'authentification Super Administrateur."
863 296 Etienne Pallier
NB1 : Les autres comptes utilisateurs que le script d'installation aura créé ont aussi le même mot de passe par défaut : "login"
864 256 Etienne Pallier
NB2 : Il y a toujours un utilisateur par défaut en mode "SANS LDAP", il s'agit de l'utilisateur "_fake_ldap_user_" avec le mot de passe "_fake_ldap_user_pass" (il a le profil minimum, c'est à dire "Utilisateur" ; il est utile notamment pour les tests, afin de tester le profil "Utilisateur" accordé par défaut à toute personne du ldap qui n'a pas de privilège particulier)
865 28 Etienne Pallier
866 299 Etienne Pallier
* Si vous désirez encore modifier la configuration générale de l'application :
867 299 Etienne Pallier
Dans le menu latéral, cliquez sur le lien "Outils", puis sur "Configuration générale de l'application", puis sur "Editer la configuration"
868 1 Etienne Pallier
869 21 Alexandre Cases
* Ensuite retournez dans la liste des outils et cliquez sur "Gérer le contenu variable de l'application".
870 301 Etienne Pallier
Sur cette page vous aurez accès à toutes les données statiques communes aux matériels (catégories, groupes métier et techniques, types de suivi, ...). Vous pouvez en ajouter, en supprimer ou les modifier...
871 94 Etienne Pallier
872 1 Etienne Pallier
873 95 Etienne Pallier
---
874 94 Etienne Pallier
875 323 Etienne Pallier
h3. G/ Gestion de l'authentification des utilisateurs via un annuaire LDAP
876 43 Etienne Pallier
877 304 Etienne Pallier
Labinvent peut être utilisé avec un annuaire LDAP. Si c'est ce que vous voulez, voici comment faire.
878 1 Etienne Pallier
879 305 Etienne Pallier
*ATTENTION* : après être passé en mode LDAP, vous risquez de ne plus pouvoir vous connecter à l'application !!!
880 305 Etienne Pallier
Assurez-vous donc d'abord que votre login super administrateur (par défaut "superadmin") porte le MEME NOM que votre login ldap. Si c'est actuellement "superadmin", remplacez-le par votre login ldap. Pour cela, allez dans le menu "Outils", puis "Gérer les utilisateurs privilégiés", éditez l'utilisateur correspondant au super administrateur actuel, et changez son login et son mot de passe pour qu'ils correspondent exactement à ceux du LDAP. Déconnectez-vous puis reconnectez-vous avec ce nouveau login et vérifiez que vous êtes bien "super administrateur".
881 305 Etienne Pallier
Maintenant que c'est fait, vous pouvez passer en mode LDAP :
882 304 Etienne Pallier
883 306 Etienne Pallier
* Si ce n'est pas déjà fait, connectez-vous à l'aide de votre login super administrateur (qui doit maintenant correspondre à votre login LDAP)
884 304 Etienne Pallier
885 302 Etienne Pallier
* Dans le menu de gauche, cliquez sur le lien "Outils", puis sur "Configuration générale de l'application", puis sur "Editer la configuration"
886 302 Etienne Pallier
887 307 Etienne Pallier
* Cochez "Utilisation du LDAP". Les options de configuration du LDAP s'affichent alors. Modifiez-les selon vos besoins
888 302 Etienne Pallier
889 302 Etienne Pallier
* Cliquez sur "Valider"
890 302 Etienne Pallier
891 308 Etienne Pallier
* Une fois la connexion au LDAP configurée, toute personne enregistrée dans l'annuaire LDAP peut alors se connecter au logiciel. Vérifiez que vous arrivez à vous connecter avec votre login LDAP qui a le profil super administrateur
892 100 Etienne Pallier
893 1 Etienne Pallier
* Par défaut, un utilisateur provenant du LDAP a un statut de simple "utilisateur". Pour lui attribuer un rôle supérieur (privilégié), il faut aller dans "Gérer les utilisateurs privilégiés" du menu "Outils" pour l'y ajouter (liste déroulante des utilisateurs du LDAP), en lui attribuant un rôle.
894 44 Etienne Pallier
895 309 Etienne Pallier
Mode panique : Si vous ne pouvez plus vous connecter à l'application (après être passé en mode LDAP), vous pouvez toujours repasser en mode "installation" comme au début : allez dans le dossier database/ et exécutez simplement ./mode_panique.sh (./mode_panique_macos.sh sur Mac OS) puis revenez sur la page d'accueil et connectez-vous avec votre login super administrateur ("superadmin" par défaut)
896 303 Etienne Pallier
897 37 Etienne Pallier
---
898 43 Etienne Pallier
899 323 Etienne Pallier
h3. H/ Configuration de l'envoi des emails (optionnel)
900 168 Thibaud Ajas
901 169 Thibaud Ajas
* En tant que SuperAdministrateur, aller dans "Outils" -> "Configuration générale de l'application", cliquez sur "Editer la configuration" et décocher "Ne pas envoyer les mails de management en local".
902 169 Thibaud Ajas
903 310 Etienne Pallier
* L'envoi de mail est réalisé grâce à une adresse qu'il faut créer pour labinvent. Le protocole d'envoi est à définir dans config/app.php selon le serveur choisi. Lors de l'envoi d'un mail il faut utiliser le transport 'dev' en local.
904 169 Thibaud Ajas
905 310 Etienne Pallier
* Pour changer de mail et de transport, il faut aller dans la section Email/Transport de config/app.php, et vérifier/adapter a votre convenance le bloc suivant :
906 169 Thibaud Ajas
907 169 Thibaud Ajas
<pre>
908 169 Thibaud Ajas
'EmailTransport' => [
909 169 Thibaud Ajas
    	'default' => [
910 169 Thibaud Ajas
            'className' => 'Mail',
911 169 Thibaud Ajas
            // The following keys are used in SMTP transports
912 169 Thibaud Ajas
            'host' => 'localhost',
913 169 Thibaud Ajas
            'port' => 25,
914 169 Thibaud Ajas
            'timeout' => 30,
915 169 Thibaud Ajas
            'username' => 'user',
916 169 Thibaud Ajas
            'password' => 'secret',
917 169 Thibaud Ajas
            'client' => null,
918 169 Thibaud Ajas
            'tls' => null,
919 169 Thibaud Ajas
            'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
920 169 Thibaud Ajas
        ],
921 169 Thibaud Ajas
...
922 169 Thibaud Ajas
</pre>
923 169 Thibaud Ajas
924 168 Thibaud Ajas
---
925 168 Thibaud Ajas
926 323 Etienne Pallier
h3. I/ Etiquettes (optionnel)
927 180 Etienne Pallier
928 191 Etienne Pallier
!etiqueteuse.jpg!
929 191 Etienne Pallier
930 195 Etienne Pallier
Si la fonction d'impression d'étiquettes (ruban) de LabInvent vous intéresse, voici ce que vous devez faire
931 195 Etienne Pallier
932 1 Etienne Pallier
933 205 Etienne Pallier
*1) Etiqueteuse (environ 50€ HT)*
934 1 Etienne Pallier
935 202 Etienne Pallier
Vous devez acheter une étiqueteuse (titreuse) "Imprimante d'étiquettes - Dymo - LabelManager PnP - USB" et la brancher sur le port USB d'un poste (client) Windows ou Mac (pas de driver pour linux).
936 193 Etienne Pallier
937 187 Etienne Pallier
"Lien chez Lyreco (Réf : 4.976.543)":https://www.lyreco.com/webshop/FRBE/product-product-000000000004976543.html
938 183 Etienne Pallier
939 188 Etienne Pallier
"Lien chez OfficeDepot (Réf : 5375844)":http://www.officedepot.fr/a/pb/Imprimante-d-etiquettes-Dymo-PnP/pr=&id=5375844/
940 183 Etienne Pallier
941 190 Etienne Pallier
"Lien chez le constructeur DYMO (Réf : S0915350)":http://global.dymo.com/frFR/Products/LabelManager_PnP.html
942 190 Etienne Pallier
943 183 Etienne Pallier
<pre>
944 183 Etienne Pallier
    Pas de logiciel ni de pilote à installer. Le logiciel intégré s’ouvre à l’écran, prêt à l’emploi.
945 183 Etienne Pallier
    Garantie 2 ans.
946 183 Etienne Pallier
    Fonctionne avec les rubans D1 6, 9 et 12 mm.
947 183 Etienne Pallier
    Petite et compacte, elle trouve facilement sa place sur un bureau.
948 183 Etienne Pallier
    Batterie lithium-ion fournie, rechargeable par USB - pas d’adaptateur secteur ni de piles.
949 183 Etienne Pallier
    Personnalisez vos étiquettes avec les polices et graphiques de votre ordinateur.
950 183 Etienne Pallier
    Connectez-là à votre PC ou Mac et imprimez instantanément et très facilement des étiquettes professionnelles !
951 183 Etienne Pallier
    Connexion USB à votre PC ou Mac.
952 1 Etienne Pallier
</pre>
953 205 Etienne Pallier
954 205 Etienne Pallier
955 206 Etienne Pallier
*ATTENTION*: Ruban à commander : *D1 en 12mm*
956 1 Etienne Pallier
957 1 Etienne Pallier
958 194 Etienne Pallier
*2) Installation du logiciel DLS*
959 194 Etienne Pallier
960 1 Etienne Pallier
Pour pouvoir utiliser cette étiqueteuse (à ruban) avec le logiciel LabInvent, vous devez installer le logiciel DLS (DYMO LABEL SOFTWARE)
961 1 Etienne Pallier
962 259 Etienne Pallier
La dernière version testée sur MacOSX, Win7, et Win10 avec LabInvent est la v8.6.1 (DLS 8.5.4 aussi testé ok sur Win 7)
963 196 Etienne Pallier
964 213 Etienne Pallier
"Page de téléchargement du logiciel, section - The Latest Software & Drivers for all LabelWriters® and LabelManagers -":http://www.dymo.com/en-US/online-support/dymo-user-guides
965 192 Etienne Pallier
966 208 Etienne Pallier
"Plus de versions (si besoin)":http://www.dymo.com/fr-FR/labelmanager-pnp-label-maker
967 208 Etienne Pallier
968 208 Etienne Pallier
969 194 Etienne Pallier
970 194 Etienne Pallier
*3) Activation de la fonction d'impression sur LabInvent*
971 193 Etienne Pallier
972 201 Etienne Pallier
Enfin, pour pouvoir étiqueter vos matériels depuis LabInvent, vous devez cocher "Imprimante disponible" dans la section "Divers" de la page de configuration générale (Outils/Configuration générale de l'application).
973 183 Etienne Pallier
974 183 Etienne Pallier
975 207 Etienne Pallier
*4) Adaptation des étiquettes au besoin du laboratoire*
976 207 Etienne Pallier
*<TODO>*
977 1 Etienne Pallier
978 207 Etienne Pallier
979 207 Etienne Pallier
*5) Etiqueteuses installées sur le labo (IRAP ONLY)*
980 203 Etienne Pallier
981 203 Etienne Pallier
982 203 Etienne Pallier
Dans l'idéal, il faudrait une étiqueteuse par gestionnaire financier :
983 203 Etienne Pallier
984 203 Etienne Pallier
SUR LE SITE ROCHE :
985 203 Etienne Pallier
986 203 Etienne Pallier
* Jean-Louis Lefort (site Roche 101) ==> installée le 1/12/14 (pc8008, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
987 203 Etienne Pallier
    Aucun problème, installée sur lettre G: - laissé 1 ruban D1 12mm de 7m en plus du ruban installé (3m seulement)
988 203 Etienne Pallier
    Pour info, ancienne installation faite sur son pc XP (23/5/14) (version soft DLS 8.5.1) Problème : si le logiciel DLS (Dymo Label Soft) est déjà ouvert, ça provoque une erreur Windows. Il faut donc refermer le logiciel avant de demander l'impression d'un ruban (c'est peut-être dû à cette version 8.5.1, la dernière version sortie, car sur l'ancienne version, je ne crois pas qu'il y ait cette erreur sur XP)
989 203 Etienne Pallier
* Dorine Roma (site Roche 102) ==> installée le 1/12/14 (pc8006 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
990 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
991 203 Etienne Pallier
* Carole Lecinana (site Roche 104) ==> installée le 1/12/14 (pc8005 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
992 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
993 203 Etienne Pallier
* Marjorie Cloup (site Roche 104) ==> installée le 1/12/14 (pc8007 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
994 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
995 203 Etienne Pallier
996 203 Etienne Pallier
997 203 Etienne Pallier
SUR LE SITE BELIN :
998 203 Etienne Pallier
999 204 Etienne Pallier
* Carole Gaiti (site Belin 61) ==> installée le 24/6/14 (pc Win 7 - version soft DLS 8.5.1)
1000 204 Etienne Pallier
* Dolores Granat (site Belin 80bis) ==> A FAIRE
1001 204 Etienne Pallier
* Isabelle Moro (site Belin B064) ==> A FAIRE
1002 204 Etienne Pallier
* De plus, Etienne Pallier (site Roche 63, Mac OS 10.7) et Elodie Bourrec (site Belin 59, Win 7) sont tous les deux équipés d'une étiqueteuse
1003 204 Etienne Pallier
* Enfin, l'étiqueteuse (ancienne) de Gilbert Rouaix (site Roche 19, Win XP) semble compatible puisqu'on a réussi à imprimer des étiquettes dessus.
1004 203 Etienne Pallier
1005 203 Etienne Pallier
1006 183 Etienne Pallier
Au total, ça fait donc 9. 
1007 1 Etienne Pallier
1008 181 Etienne Pallier
---
1009 180 Etienne Pallier
1010 215 Etienne Pallier
h2. UTILISATION du logiciel
1011 110 Etienne Pallier
1012 165 Etienne Pallier
Depuis le site web de Labinvent, cliquez sur "Accueil", et ouvrez le "Guide d'utilisation" (pdf)
1013 165 Etienne Pallier
1014 165 Etienne Pallier
(Vous pouvez aussi aller à la page wiki "Utilisation" [[Documentation_utilisateurs]])
1015 110 Etienne Pallier
1016 112 Etienne Pallier
---
1017 112 Etienne Pallier
1018 1 Etienne Pallier
h2. MISE A JOUR du logiciel 
1019 43 Etienne Pallier
1020 235 Etienne Pallier
*1) Mettre à jour le code*
1021 45 Etienne Pallier
1022 43 Etienne Pallier
Aller sur la racine du projet et exécuter :
1023 1 Etienne Pallier
1024 43 Etienne Pallier
<pre>
1025 1 Etienne Pallier
$ git pull
1026 57 Alexandre Cases
</pre>
1027 57 Alexandre Cases
1028 235 Etienne Pallier
*2) [Seulement si nécessaire] Mettre à jour la base de données*
1029 44 Etienne Pallier
1030 56 Alexandre Cases
Aller dans le dossier database/update/
1031 44 Etienne Pallier
1032 56 Alexandre Cases
*Exécuter tous les scripts qui sont d'une date postérieure à la date de votre version du logiciel* (sur la page d'accueil en bas à droite).
1033 1 Etienne Pallier
Attention, il faut les exécuter *dans l'ordre chronologique*, un par un
1034 1 Etienne Pallier
1035 44 Etienne Pallier
Exemple:
1036 54 Etienne Pallier
<pre>
1037 57 Alexandre Cases
Placez vous dans ./database/update et éxécutez les commandes correspondantes : 
1038 58 Alexandre Cases
1039 57 Alexandre Cases
./db-update-2016-06-03.sh
1040 57 Alexandre Cases
1041 57 Alexandre Cases
./db-update-2016-06-06.sh
1042 57 Alexandre Cases
1043 57 Alexandre Cases
./db-update-2016-06-07.sh
1044 57 Alexandre Cases
</pre>
1045 54 Etienne Pallier
1046 43 Etienne Pallier
1047 56 Alexandre Cases
1048 41 Etienne Pallier
Remarques : 
1049 103 Etienne Pallier
* Le fichier README-LABINVENT.md contient la liste des mises à jour.
1050 55 Etienne Pallier
1051 235 Etienne Pallier
*3) Upgrade du framework CakePhp*
1052 234 Etienne Pallier
1053 234 Etienne Pallier
<pre>
1054 234 Etienne Pallier
sudo php composer.phar update
1055 1 Etienne Pallier
</pre>
1056 1 Etienne Pallier
1057 236 Etienne Pallier
NB: si phpunit ne se met pas à jour, ne pas hésiter à supprimer tout le dossier vendor/phpunit/ avant de lancer cette commande
1058 234 Etienne Pallier
1059 234 Etienne Pallier
1060 235 Etienne Pallier
*4) Upgrade de Php => passage à Php7*
1061 234 Etienne Pallier
1062 234 Etienne Pallier
* Ubuntu:
1063 234 Etienne Pallier
<pre>
1064 234 Etienne Pallier
sudo apt-get install php7.0 php-gettext php7.0-mbstring libapache2-mod-php7.0 php7.0-mysql php7.0-mcrypt php7.0-intl
1065 234 Etienne Pallier
sudo a2dismod php5.6
1066 234 Etienne Pallier
sudo a2enmod php7.0
1067 234 Etienne Pallier
sudo service apache2 restart
1068 234 Etienne Pallier
sudo update-alternatives --set php /usr/bin/php7.0
1069 234 Etienne Pallier
sudo service apache2 restart
1070 234 Etienne Pallier
</pre>
1071 234 Etienne Pallier
1072 234 Etienne Pallier
1073 1 Etienne Pallier
---
1074 55 Etienne Pallier
1075 55 Etienne Pallier
h2. MODE PANIQUE
1076 55 Etienne Pallier
1077 55 Etienne Pallier
Vous avez changé la configuration du LDAP et elle ne fonctionne plus !
1078 55 Etienne Pallier
Du coup, vous ne pouvez plus vous connecter au site !
1079 106 Etienne Pallier
Pas de panique, le mode panique est là !
1080 106 Etienne Pallier
Il suffit de repasser le logiciel en mode INSTALL pour pouvoir y accéder sans connexion.
1081 105 Etienne Pallier
Pour cela, exécuter le script mode_panique.sh qui se trouve dans le dossier database/ :
1082 1 Etienne Pallier
1083 1 Etienne Pallier
<pre>
1084 105 Etienne Pallier
./mode_panique.sh
1085 1 Etienne Pallier
</pre>
1086 1 Etienne Pallier
1087 107 Etienne Pallier
(
1088 108 Etienne Pallier
_Si vous préférez, vous pouvez aussi exécuter manuellement la requête sql set_mode_install.sql qui se trouve dans le même dossier:_
1089 105 Etienne Pallier
mysql -u login -p labinvent2 < set_mode_install.sql
1090 1 Etienne Pallier
_Remplacer 'login' par le 'username' défini dans votre fichier config/app.php dans la section Datasources (default)_
1091 1 Etienne Pallier
_Remplacer 'labinvent2' par le 'database' défini au même endroit_
1092 107 Etienne Pallier
_Ou bien exécuter cette requête depuis phpmyadmin_
1093 105 Etienne Pallier
)
1094 312 Etienne Pallier
1095 312 Etienne Pallier
1096 312 Etienne Pallier
h2. MODE DEBUG (dev only)
1097 312 Etienne Pallier
1098 312 Etienne Pallier
Pour les développeurs, il y a un outil très pratique à utiliser qui est DebugKit. Il aide à voir ce qui se passe en interne au sein du framework cakephp (valeur des variables, dernières requetes sql exécutées...).
1099 312 Etienne Pallier
1100 312 Etienne Pallier
Il est installé par défaut. Donc, pour l'activer, rien de plus simple, il suffit de passer config/app.php en mode debug (ligne 12 qui définit la variable debug, passer à "true")