Installation

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